求斐波那契数列第100位(通过C++数组模拟大数,注意VC6语法支持的不好,编译不过,在VS下面可以)
2013-03-27 19:54
501 查看
#include <iostream> using namespace std; static int digit = 1; //数字的位数 class Node { public: Node() { for(int i = 0;i < 500;i++) { value[i] = 0; } } int value[500]; //存储数据 friend Node operator + (const Node& a,const Node& b); //友元函数实现两个Node类型的数据加法 }; /* 重载+操作符,实现两个Node类型的数据进行加法运算 */ Node operator+ (const Node& a,const Node& b) { Node temp; //临时数据 int i; for(i = 1;i <= digit;i++) { temp.value[i] = a.value[i] + b.value[i]; } for(i = 1;i < digit;i++) //进位处理 { if(temp.value[i] >= 10) { temp.value[i+1] += temp.value[i]/10; temp.value[i] %= 10; } } if(temp.value[digit] >= 10) //判断是否这个大数又进行了进位 { temp.value[digit+1] = temp.value[digit]/10; temp.value[digit] %= 10; ++digit; //最高位大于10,就进位 } return temp; } void main() { int N = 100; digit = 1; Node a,b,c; a.value[1] = 1; b.value[1] = 1; c.value[1] = 1; for(int i = 3; i <= N;i++) { c = a + b; a = b; b = c; } for(int i = digit;i >= 1;i--) { cout<<c.value[i]; } cout<<endl; } /* 354224848179261915075 */
相关文章推荐
- 通过Daffodil for VS使VS2010的IDE可以用VC6 VC7.1 VC9等编译器进行项目编译
- 通过Daffodil for VS使VS2010的IDE可以用VC6 VC7.1 VC9等编译器进行项目编译
- 导入外部数据+SQL语句的办法不支持参数查询,不过可以通过子查询进行模拟
- 通过Daffodil for VS使VS2010的IDE可以用VC6 VC7.1 VC9等编译器进行项目编译
- 通过Daffodil for VS使VS2010的IDE可以用VC6 VC7.1 VC9等编译器进行项目编译
- 在 vs 编译 通过game_car 怎么在linux 下编译通过呢?并且可以连接到windws 下面的flash上?
- VS2013 QT可以编译通过但是头文件有红线
- 修改过的提交事务--注意的是语法必须通过编译
- 使用VS 2008(带sp1)编译VC 6.0的一个工程,出现下面的编译错误
- caffe搭建--caffe- win10 vs2015 编译(支持GPU)--注意在cmake的时候需要根据情况仔细修改配置
- 为什么TheBeerHouse的网站可以VS2005下正常编译通过?
- 今天才明白VC++.net的含义: VS系列的c++编译器可以支持托管C++(类似于C#,具体请看MS在线文档),当然包括winform界面开发。
- mysql可以运行在不同sql mode模式下面,sql mode模式定义了mysql应该支持的sql语法,数据校验等
- C语言不支持默认参数,不过可以用宏来模拟
- boj 1328 简单问题 不过要考虑输入大小 long long可以 不过VC++不能编译
- 使用Cmake生成CEF的项目源文件,并在VS2015中编译通过
- 关于Vs 2005 中出现编译通过,但运行时出现“未使用调试信息生成二进制文件”的问题
- 安装VS.NET插件AnkhSVN,通过简单配置让其支持.svn和_svn,并其很好的支持web project
- 『Python』VS2015编译源码注意事项
- SNMP++-3.3.4 在VS2013编译成SNMP++的最新实践方法(支持SNMPv3)