回 帖 发 新 帖 刷新版面

主题:新手-斐波那契数列问题-求助!!!

#include <stdio.h>
main()
{
int temp[50],f,sum,i,k,m;
clrscr();
printf ("please input the k:");
scanf("%d",&k);
printf ("please input the m:");
scanf("%d",&m);
if(k<2||m<0) exit();
if(m<k-1) f=0;
else if (m==k-1 || m==k) f=1;
else
{
for(i=0;i<=k-2;i++) temp[i]=0;
temp[k-1]=1;temp[k]=1;
sum=1;
for(i=k+1;i<=m;i++)
temp[i]=2*temp[i-1]-temp[m-k-2];
f=temp[m];
}
printf ("the result is:%d",f);
}
上面这段代码我在TC2.0下只能让2阶的第1~3个值正确,其他的全是随机数,哪位高人指点一下啊!

回复列表 (共2个回复)

沙发


题目的要求是求K阶斐波那契数列的第M项,老问题了,但总是通不过,郁闷啊!

板凳

temp[i]=2*temp[i-1]-temp[m-k-2];
改成:
temp[i]=2*temp[i-1]-temp[i-1 -k];
即可

我来回复

您尚未登录,请登录后再回复。点此登录或注册