我必须用 bash 编写一个程序,并且我在逻辑上理解如何去做,我只是无法进入代码。问题是这个“编写一个名为“乘法”的程序从用户那里获取两个数字并计算第一个数字乘以第二个数字并显示结果。你只能使用循环和加法运算符(+)。你不是允许使用 (*)。”
我知道您必须将一个数字添加到另一个数字第 n 次才能获得“产品”,但我不知道如何。
有什么帮助吗?
将其放入脚本中。调用它multiply
并chmod +x multiply
使其可执行。
#!/bin/bash
read -p "Enter the first value: " a
read -p "Enter the second value: " b
product=0
for (( i=0; i<b; i++ )); do
((product+=a))
done
echo $product
这是一个运行它的示例:
bash-4.1$ multiply
Enter the first value: 8
Enter the second value: 7
56
bash-4.1$
在函数式编程中它看起来像
multiply(a,0) -> 0;
multiply(a,b) -> a + multiply(a,b-1).
在 bash 中它看起来像
#!/bin/bash
ANS=0
function multiply {
for i in `seq 0 $2`
ANS+=$1
}
echo ANS
#!/bin/bash
SCALE=0;
if [[ $# -eq 0 ]]; then
printf "Usage: $0 <simple_math_problem>\n";
printf "Example: $0 1+1\n";
else
bc<<EOM
scale=${SCALE};
$@;
quit;
EOM
fi