【发布时间】:2020-10-28 19:03:27
【问题描述】:
如何在Shell Script中编写程序来计算斐波那契数列与键盘输入的上限之和?输入例如:“输入斐波那契数列的极限?10”。结果:0 + 1 + 1 + 2 + 3 + 5 + 8 + 13 + 21 + 34 = 88
#!/bin/bash
if [ $# -eq 1 ]
then
Num=$1
else
echo -n "Enter the limits of the Fibonacci sequence : "
read Num
fi
a=0
b=1
echo "Result : "
for (( i=0;i<=Num;i++ ))
do
echo -n “$a + “
n=$((a+b))
a=$b
b=$n
done
echo
有人知道如何获得结果吗? 我的预期输出是:
Enter the limits of the Fibonacci sequence : 10
Result : 0 + 1 + 1 + 2 + 3 + 5 + 8 + 13 + 21 + 34 = 88
我一直在尝试
【问题讨论】:
-
“不是"。使用的精确字符很重要。 -
除此之外 - 在问题中包含您的 实际 结果,而不仅仅是您想要的结果(除非收集输入是问题的一部分,否则最好只硬编码您的值所以每个人都会得到相同的行为,而不是猜测您在测试运行中使用的
Num的值)。 -
您已经知道如何将数字相加 (
n=$((a+b))),那么为什么不将每个数字相加,然后在末尾添加echo呢? -
我还没有找到斐波那契求和的模式,你能帮帮我吗?
标签: linux bash shell while-loop bin