游客 Signup | Login
中文 | En

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;
}
Time Limit 1 second
Memory Limit 128 MB
Discuss Stats
上一题 下一题