【发布时间】:2021-02-14 19:27:19
【问题描述】:
我想使用 recursion 找到斐波那契数列中数字的 索引。
示例:13(我的输入)是斐波那契数列的第 8 个(输出)数
这是我的功能:
#!/bin/bash
function fib() {
number=1
cpt=1
if [[ $number -lt $1 ]]
then
compteur=$(($cpt+ 1))
echo $(( $(fib $(($number - 1)) ) + $(fib $(($number - 2)) ) ))
fi
echo $cpt
}
fib $1
我有这个错误:+ 附近的符号错误
那我不知道我的算法逻辑好不好。我不知道我在 bash 中递归调用函数的语法是否很棒。
任何帮助将不胜感激。 谢谢!
【问题讨论】:
-
只是想知道,输入/斐波那契数
1的预期输出/索引是多少?数字1在斐波那契数列中出现两次。 -
对,没想到^^我可能会做一个我认为返回2和3的语句
-
无法复制。对于任何输入,代码都会输出
2 1。 -
@HugoSab 如果输入不是斐波那契数列的成员,你期望什么?
-
如果数字在斐波那契数列中,我已经有一个返回我的脚本。最后,我希望我的脚本打印:数字在索引 [...] 处的斐波那契数列中