本文主要是介绍输出斐波那契数前10000项,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
之前也写过输出斐波那契数的程序,当然也只是前几十位。所以也没注意到当输出大于47位之后 ,就发生溢出了。直到某一天,老师让我们输出47位之后的数我才发现这个问题。于是就花了一点时间写了出来。
其实这个问题归根到底就是一个大数相加的问题,当然网上也能搜到很多关于大于数加减乘除的模版。我现在就换另外一种方法来计算大数相加的问题。思路就是分别用两个字符串来保存两个数,然后对应位分别相加,满10进1,就行了。理论上是没有上限的(不会溢出),但受计算机的限制,在我自己的电脑上也只能输出几万项斐波那契数。不多说,上代码。
//定义了一个大数类
#ifndef BIGNUM_H
#define BIGNUM_H
#include <iostream>
using namespace std;
class BigNum
{
private:string num;int length;public:BigNum():num("NULL"),length(0){}BigNum(string &n):num(n),length(n.size()){}BigNum(string n,int l):num(n),length(l){}void getNum() const;const void clear();const BigNum &operator
这篇关于输出斐波那契数前10000项的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!