unsigned long Fibonacci(unsigned n) { if (n > 2) return Fibonacci(n - 1) + Fibonacci(n - 2); else return 1; }
这是使用双递归的方法去实现斐波那契数列我想问一下,能不能用循环去实现呢,输入一个正整数,然后得到对应位置的斐波那契数
收起
int fib( int n )//返回第几位的斐波那契数 { int i=0,a=0,b=1,c; while(i<n)//使用i来判断第几位 这里我们从0 1开始计数因此需要考虑特殊情况 这里的数字经过测试应该是没有第0个数字一说的。 { if(i==1) c=1; else { c=a+b; a=b; b=c; } i+=1; } return c; }
你看看可以不
报告相同问题?