hdu1715大菲波拉契数
2015-06-11 17:30
281 查看
高精度加法
对于菲波拉契数,f[i]=f[i-1]+f[i-2];(i>2)这里的n<1000,还是要使用高精度加法的。
高精度加法和乘法,他们还是有很多相通的地方的。
[code]#include <stdio.h> #include <stdlib.h> #include <string.h> #define N 1003 int a ; int main() { memset(a,0,sizeof(a)); a[1][0]=1; a[2][0]=1; int n ; for(int i = 3; i<N;i++) { int tmp = 0; int k = 0; for(int j = 0; j<N;j++) { tmp = a[i-1][j]+a[i-2][j]+k; a[i][j]=tmp%10; k =tmp/10; } } scanf("%d",&n);//没有看清楚格式。 while(scanf("%d",&n)!=EOF) { int i=N-1; while(a [i]==0) i--; while(i>=0) printf("%d",a [i--]); printf("\n"); } return 0 ; }
我们可以,发现,不管是加法还是乘。只要是有关于进位的,我都可以统一设置一个变量K来表示来自低位的进位,一个tmp表示当前本位(没有进位的)结果。然后,本位就是tmp%10,然后向高位进位就是k=tmp/10
相关文章推荐
- Surface、SurfaceView、SurfaceHolder及SurfaceHolder.Callback之间的关系
- 读《构建之法》十一、十二章有感
- session机制详解以及session的相关应用
- 行参和实参的区别 原文说的是c++的 借鉴一下吧
- 行参和实参的区别 原文说的是c++的 借鉴一下吧
- Apache Axis2 环境搭配详解
- Android CTS测试Fail项修改总结(四)
- 读《构建之法》十一,十二章有感
- C++学习笔记(3) 数组
- MATLAB中feval、class、'function_handle'、isa、strcmp的用法
- 初识riot.js
- 数“1”游戏
- "渴了么"项目开发计划说明书
- 外观模式
- PHP,mysql,Linux,CI框架学习总结
- How to fix no public key available for the following key IDs in debian
- 我准备开始考OCP 了
- 理解闭包
- mysql 5.5主从复制配置
- 类型转换