萌新求助,关于long long int。
求大神帮帮忙,这是我校ACM协会的一道题,具体要求如下:Description
Fibonacci数列:0,1,1,2,3,5,8,13,21,…
从0开始,后续的数具有这样的性质:当前的数是其前面两个数之和。编写一个函数计算第n个Fibonacci数,规定:Fibonacci(1)=1,fibonacci(2)=1。
Input
第一行1个整数t,表示有t组数据。以下t行,每行一个整数n。
Output
共t行,对于每个n,输出第n个Fibonacci数(结果不超过long long int的范围)。
Sample Input
2
3
5
Sample Output
2
5
Hint
long long int 的格式输出为:printf("%lld\n",a); ,还有要小心超时哦~
程序代码:
#include<stdio.h> long long int Fibonacci(int n); int main() { int t; scanf("%d",&t); while(t--) { int n; long long int result; scanf("%d",&n); result = Fibonacci(n); printf("Fibonacci(%d)=%lld\n",n,result); } return 0; } long long int Fibonacci(int n) { long long int result; if(n==1&&n==1) result=1; else if(n==0) result=0; else result = Fibonacci(n-1)+Fibonacci(n-2); return result; }
上边是我写的代码,可是一提交就显示Time Limit Exceeded,我不会用long long int ,求懂的大神指点一下小弟错在哪了,以及long long int的用法,还有就是我用的编程工具是codeblock。