3821 - 第四章:for循环结构《练习6:Fibonacci序列》
【for+数组】Fibonacci序列:1、1、2、3、5、8、13、21……,输入n(n<=1000),求第n个数是多少?
规律:第三个开始,每个等于前两个之和。
比如,输入:10,输出:55比如,输入:10,输出:55
include<cstdio>
using namespace std;
int a[110]; //注意一般 数组的定义在main函数外面。
int main()
{
int i,n;
scanf("%d",&n);
a[1]=1;
a[2]=1;
for(i=3;i<=n;i++)
{
a[i]= a[i-1]+ a[i-2];
}
printf("%d\n",a[n]);
return 0;
}
Input
Output
Examples
Input
10
Output
55
Solution C
#include <stdio.h> int a[1001] = {0,1,1}; int main(void) { int i, n; do scanf("%d", &n); while(!(n >= 1 && n <= 1000)); for(i = 3; i <= n; i ++) a[i] = a[i-2] + a[i-1]; printf("%d", a[n]); return 0; }
Solution C++
#include<cstdio> using namespace std; int a[110]; int main() { int i,n; scanf("%d",&n); a[1]=1; a[2]=1; for(i=3;i<=n;i++) { a[i]=a[i-1]+a[i-2]; } printf("%d\n",a[n]); return 0; }