注册 登录
编程论坛 C语言论坛

斐波那契数列

蒟蒻 发布于 2019-12-08 19:20, 2009 次点击
求斐波那契数列的第n个数
当这个数太大而导致整型变量不能储存时怎么办
求c语言代码
4 回复
#2
蒟蒻2019-12-10 16:17
没有人会吗?
#3
rjsp2019-12-10 16:42
以下是引用蒟蒻在2019-12-10 16:17:46的发言:

没有人会吗?

你的问题别人没法回答,你总要限定个n的范围吧。如果你的n可以无限大,那么斐波那契数就可以无限大。你也是上过学的,有听说过有限资源可以存储无限信息吗?

unsigned 装不下,那就用 unsigned long long;
unsigned long long 装不下,那就自己写个大数类;
大数类内存装不下,那就存储到硬盘上作二级缓冲;
全世界的硬盘不够你存这个斐波那契数,那就砸钱让厂家生产硬盘;
太阳系的能量不够你生产足够的硬盘,那就殖民其它星系;
全宇宙的能量不够你存你最大的那个斐波那契数的话,那才是真没办法了……
#4
自学的数学2019-12-10 23:28
这个大不大:
#include <stdio.h>
 
void main()
{
    long long  a[100];
    int i;
    long long sum,n;
    scanf("%l64d",&n);
    a[1]=1;
    a[2]=2;
    sum=1;
    for (i=1;i<=(n-1);i++)
     sum=sum*10;
    n=sum;
    if (n>2)
    {
     for (i=3;i<=n;i++)
       a[i]=a[i-1]+a[i-2];
    }
    sum=a[n];
    printf("%d",sum);
    printf("");
        
}
#5
自学的数学2019-12-11 00:12
如果这个数还不够大的话,那你看看:
http://www.
用电脑来计算拉姆齐数,电脑要用到的时间表(60个点数的拉姆齐数的计算要用到1915年,这还是电脑计算用时),服不服?
1