3821 - 第四章:for循环结构《练习6:Fibonacci序列》

通过次数

0

提交次数

0

时间限制 : 1 秒 内存限制 : 128 MB

【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;
}

题目输入

题目输出

输入/输出样例

输入格式

10

输出格式

55

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;
}

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;
}