1158 - C语言6.6
时间限制 : 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),''