李东升 发表于 2014-6-18 08:54:18

请问这两个斐波拉契程序哪个好?

#include <stdio.h>

int aaa(int);

int main()

{

int N, x;

scanf("%d",&N);

x = aaa(N);

printf("%d\n",x);

return 0;

}

int aaa(int n)

{

int f1, f2;

f1=0;

f2=1;

if(n==0)

return f1;

else if(n==1)

return f2;

else

return aaa(n-1)+aaa(n-2);

}
第二个:#include <stdio.h>
int KA(int a)
{
if(a == 0)
return 0;
else if(a == 1)
return 1;
else
return a = a - 1 +a;
}
int main()
{
int N;
scanf("%d", &N);
N = KA(N);
printf("%d\n",N);
return 0;
}哪个比较好。感觉第一个比较复杂。

1012662902 发表于 2014-6-18 19:44:45

第二个程序不是斐波拉契程序,是求奇数的程序。
第一个递归效率太低, 建议用非递归
页: [1]
查看完整版本: 请问这两个斐波拉契程序哪个好?