1158 - C语言6.6

通过次数

0

提交次数

0

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

求Fibonacci数列的前40个数。这个数列有如下特点:第1、2两个数为1、1。从第3个数开始,该数是其前面两个数之和。即:

题目输入

题目输出

输出Fibonacci数列的前40个数,并在每个数之后输出一个空格。

请注意行尾输出换行。

输入/输出样例

输入格式

输出格式

1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181 6765 10946 17711 28657 46368 75025 121393 196418 317811 514229 832040 1346269 2178309 3524578 5702887 9227465 14930352 24157817 39088169 63245986 102334155 

C语言解答


#include<stdio.h>
int main()
{
//	int a=0,b=1;
	int f[40];
	f[1]=1;
	f[0]=1;
	for(int i=2;i<40;i++)
	{
        f[i]=f[i-1]+f[i-2];
	}
	for(int j=0;j<40;j++)
		printf("%d ",f[j]);
	printf("\n");
	return 0;
}

C++解答

#include <stdio.h>
#include <math.h>
int main() {
	int i, a, b, t;
	a = 1; b = 1;
	for (i = 1;i <= 40;i++) {
		printf("%d ", a);
		t = a + b;
		a = b;
		b = t;
	}
	return 0;
}

Java解答

public class Main{
	public static void main(String[] args) {
		int a=1,b=1,c;
		System.out.print (a+" "+b+" ");
		for(int i=1;i<=38;i++){
			c=a+b;
			a=b;
			b=c;
			System.out.print (c+" ");
		}
	}
}

Python解答

fibs = [1, 1]
for i in xrange(38):
  fibs.append(fibs[-1]+fibs[-2])
print ' '.join(str(x) for x in fibs),''