作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
<分区>
我刚开始学习编程,这里有一个关于斐波那契数列的问题:
要求创建一个参数为 k(表示斐波那契的 k 阶)和参数 n(表示序列的第 n 个成员)的函数,并使用该函数获取 k 阶序列的第 m 个成员。
f0 = 0, f1 =0, ....fk-2 =0, fk-1=1;
when n=k, k+1,...
fn= fn-1+fn-2+....+fn-k; n=k,k+1,....
(f右边的字母和数字是下标,表示第n个成员,第n-1个成员..)
以下是我的代码:
int Fibonacci(int k, int n){
int result=0;
if (n==k-1) return 1;
if (n<k-1) return 0;
if (n>=k){
for(int i=n-1; i>i-k-1;--i){
result+=Fibonacci(k,i);
cout<<result<<endl;
}
return result;
}
新版本
int result=0;
int Fibonacci(int k, int n){
if (n==k-1) return 1;
if (n<k-1) return 0;
if (n>=k){
for(int i=n-1; i>n-k-1;--i){
result+=Fibonacci(k,i);
cout<<result<<endl;
}
return result;
}
}
我的问题是为什么这段代码不能得出正确答案?循环中应该有一些问题,但我找不到它们。有人会帮助我吗?
我是一名优秀的程序员,十分优秀!