NEFU592求斐波那契数列
来源:互联网 发布:mac日历垃圾广告 编辑:程序博客网 时间:2024/05/01 10:03
斐波那契
Time Limit 1000ms
Memory Limit 65536K
description
f[0]=1,f[1]=1,f[n]=f[n-1]+f[n-2],求f[n]。好熟悉的题目啊,可惜变成高精度了。
input
输入数据有多组,每组一个整数n。(1<=n<=500)
output
对于每组数据输出对应的f[n]。
sample_input
23
sample_output
23
高精度+递推(基础题目)注意在模拟加法结束后将原来的数还原
#include <iostream>#include <cstring>#define N 100000using namespace std;char f[501][N];void Bigadd(char a[],char b[],char c[]){ int n=strlen(a); int m=strlen(b); char temp; int i,j,e,d; for(i=0; i<m/2; i++) { temp=b[i]; b[i]=b[m-1-i]; b[m-1-i]=temp; } for(i=0; i<n/2; i++) { temp=a[i]; a[i]=a[n-1-i]; a[n-1-i]=temp; } d=0; e=0; for(i=0;i<n&&i<m;i++) { d=a[i]-'0'+b[i]-'0'+e; c[i]=d%10+'0'; e=d/10; } if(i==m) { for(;i<n;i++) { d=a[i]-'0'+e; c[i]=d%10+'0'; e=d/10; } } if(i==n) { for(;i<m;i++) { d=b[i]-'0'+e; c[i]=d%10+'0'; e=d/10; } } if(e) c[i++]=e+'0'; //c[i]='0'; int t=i; for(i=0; i<t/2; i++) { temp=c[i]; c[i]=c[t-1-i]; c[t-1-i]=temp; } for(i=0; i<m/2; i++) { temp=b[i]; b[i]=b[m-1-i]; b[m-1-i]=temp; } for(i=0; i<n/2; i++) { temp=a[i]; a[i]=a[n-1-i]; a[n-1-i]=temp; }}int main(){ int s; while(cin>>s) { f[0][0]='1'; f[1][0]='1'; for(int i=2;i<=s;i++) { Bigadd(f[i-1],f[i-2],f[i]); } cout<<f[s]<<endl; } return 0;}
0 0
- NEFU592求斐波那契数列
- 求斐波那契数列
- 求斐波那契数列
- 递归求斐波那契数列
- 非递归求斐波那契数列
- 求斐波那契数列第n项
- 矩阵乘法 求斐波那契数列
- 矩阵乘法 求斐波那契数列
- C:递归求斐波那契数列
- YT14-HDU-求斐波那契数列
- 矩阵乘法求斐波那契数列
- 求斐波那契数列O(logn算法)
- 利用矩阵求斐波那契数列
- 递归函数求斐波那契数列
- 矩阵乘法求斐波那契数列
- C++递归求斐波那契数列
- 求斐波那契数列前20项
- 高精度求斐波那契数列中间个数
- 使用getIdentifier()获取资源Id
- 02周:项目五:点结构与枚举
- ubuntu eclipse gtk
- 关于程序的Debug和Release版本的注意
- a 中调用js的几种方法
- NEFU592求斐波那契数列
- 操作系统虚拟内存中的四种典型页替换算法(OPT,LRU,FIFO,Clock)
- [5]PHP开发环境搭配之thinkPHP3.1.3安装
- IT学子成长指导类文章链接(十一)
- 解析PHP中反馈表单的具体实现办法
- 存储和管理数据的仓库
- MySQL的myisam解决并发读写解决方法
- 02周:项目六:链表初体验
- 反映了观察数据库的三种不同角度