以下是引用斋宅窄寨在2014-1-20 15:21:29的发言:
那和我的同样用了两个if,在时间上应该没有区别吧?
你的第一个if(x<=1)那和我的同样用了两个if,在时间上应该没有区别吧?
计算了0, -1, -2, -3.......调用都没结束条件了.
程序代码:#include <stdio.h>
int main()
{
double a[51]; // 数组大小为51 double可以考虑用long long 我的主要是编译器不支持.
int i, n;
a[0] = 0;
a[1] = 1;
for (i = 2; i < 51; i++)
a[i] = a[i-1] + a[i-2];
scanf("%d", &n); // 输入n,
printf("%.0f\n", a[n]); // 输出第n项.
return 0;
}