大斐波那契数列

大斐波那契数列

时间: 1ms        内存:200M

描述:

斐波那契数列,又称黄金比例数列,指的是这样一个数列:1、1、2、3、5、8、13、21、……在数学上,斐波纳契数列以如下被以递归的方法定义:F[0]=1,F[1]=1,F[n]=F[n-1]+F[n-2](n>=2,n∈N*)。总之斐波纳契数列有很多应用,现在你能用类的方法实现吗?

输入:

没有输入

输出:

输出前51个斐波那契数

示例输入:

示例输出:

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
165580141
267914296
433494437
701408733
1134903170
1836311903
2971215073
4807526976
7778742049
12586269025
20365011074

提示:

参考答案(内存最优[1088]):

#include<string.h>
#include<stdio.h>
struct ff
{
    void count();
    void output();
};
void ff::count() {}
void ff::output()
{
    long long int a[100]= {1,1};
    printf("1\n1\n");
    for(int i=2; i<51; i++)
    {
        a[i]=a[i-1]+a[i-2];
        printf("%lld\n",a[i]);
    }
}
int main(){
	ff a;
	a.count();
	a.output();
	return 0;
}

参考答案(时间最优[0]):

#include <iostream>
using namespace std;
class ff
{
public:
    void count()
    {
        int i;
        c[1]=1;c[2]=1;
        for(i=3;i<=51;i++)
        {
            c[i]=c[i-1]+c[i-2];
        }
    }
    void output()
    {
        int i;
        for(i=1;i<=51;i++)
            cout<<c[i]<<endl;
    }
private:
    long long int c[52];
};
int main(){
	ff a;
	a.count();
	a.output();
	return 0;
}

题目和答案均来自于互联网,仅供参考,如有问题请联系管理员修改或删除。

点赞

发表评论

电子邮件地址不会被公开。必填项已用 * 标注