超长整数计算——从斐波那契数列说起

本文探讨了在编程中遇到大数运算需求时,如何使用长整型、数组存储超长整数,以及通过算法优化处理斐波那契数列问题。还介绍了无符号和有符号超长整数运算,以及将浮点数转化为整数进行高精度计算的方法。

        我们知道一般编译器的int类型最大值约为21亿,至多能存储10位整数,大多数情况下足够我们使用了。但有时我们会遇到需要存储和运算更大整数的情况,例如斐波那契数列。我们通常把这类存储和运算超大整数问题称为大数运算或超长整数运算

目录

一、从斐波那契数列说起

二、无符号超长整数运算

三、拓展


一、从斐波那契数列说起

1.引例

题目: 开始,有一对小兔子。一个月后,小兔子变成大兔子,并且开始怀孕。两个月后,生出一对小兔子,这时共有两对兔子(一对大兔子,一对小兔子),同时大兔子又开始怀孕。三个月后,以前出生的小兔子变成大兔子,以前怀孕的大兔子又生出一对小兔子,这时共有三对兔子(两对大兔子,一对小兔子),同时大兔子又全部怀孕。…… 假设6年内都没有兔子死亡。

编写程序,输入n,计算n个月后,有多少对兔子。要求至少能计算6年内的兔子对数。

分析: 由题目可知,小兔子成长为大兔子需要一个月,一对大兔子从怀孕到生下一对小兔子需要一个月。开始,有一对小兔子;设n-1个月后,共有s对小兔子,b对大兔子(大兔子全部怀孕);则n个月后,就有b对小兔子,b+s对大兔子(上个月的小兔子全部变成大兔子了)。列表分析:

n个月后

0

1

2

3

4

5

小兔子(对)

1

0

1

1

2

3

大兔子(对)

0

1

1

2

3

5

总对数

1

1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

易水卷长空

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值