【hdoj_1865】1sting(递推+大数)
来源:互联网 发布:hadoop 1T数据 编辑:程序博客网 时间:2024/05/17 23:40
题目:http://acm.hdu.edu.cn/showproblem.php?pid=1865
本题的关键是找递推关系式,由题目,可知前几个序列的结果,序列长度为n=1,2,3,4,5的结果分别是,f(1)=1,f(2)=2,f(3)=3,f(4)=5,f(5)=8,所以猜测,递推关系式为:
f(n)=f(n-1)+f(n-2),n>=3,f(1)=1,f(2)=2;
序列长度不超过200,即n的值不超过200,则估计f(n)的值得位数不超过1000位.在代码中,我们采用10000进制的方法,将数字f(...)的结果记录在数组中,每个数组元素可以存8位数.
与本题同类型的题目:http://blog.csdn.net/ten_sory/article/details/60883746
C++代码如下:
#include<iostream>#include<string>#include<string.h>using namespace std;#define maxn 200 + 1#define len 100int a[maxn][len];int main(){int i,j;for(i=1;i<maxn;i++)memset(a[i],0,sizeof(a[i]));a[1][len-1] = 1;a[2][len-1] = 2;//都是len-1for(i=3;i<maxn;i++){int c = 0;for(j=len-1;j>=0;j--){c += (a[i-1][j]+a[i-2][j]);a[i][j] = c % 100000000;c /= 100000000;}}string s;int T;scanf("%d",&T);while(T--){cin >> s;int n = s.length();if(n==1)printf("%d\n",1);else if(n==2)printf("%d\n",2);else{for(i=0;i<len;i++)if(a[n][i])break;printf("%d",a[n][i]);for(j=i+1;j<len;j++)printf("%08d",a[n][j]);printf("\n");}}return 0;}上述代码,提交可以通过.
0 0
- 【hdoj_1865】1sting(递推+大数)
- E - 1sting (递推+大数加法)
- 1sting(JAVA大数+ 递推)
- hdu 1865 1sting (java大数&递推)
- 【杭电oj】1865 - 1sting(大数递推)
- 【递推DP】HDU1865-1sting
- hdu1865大数 1sting
- hdu1865 1 sting(大数)
- 1sting(大数递归)
- hdu-1865-1sting(大数问题)
- HDOJ/HDU 1865 1sting(斐波拉契+大数~)
- hdu 4927 Series 1 递推+大数
- 大数递推
- poj2506 大数递推
- 大数+递推
- UVA11375 递推+大数
- hdu 1865 1sting(数学:斐波那契+大数)
- hdoj 1865 1sting 【大数】【斐波那契】
- Android Studio 修改包名最便捷做法
- PAT 1114
- H3 BPM总部乔迁 开启新篇章 筑梦新征程
- Git主要命令操作详解
- 权限修饰符
- 【hdoj_1865】1sting(递推+大数)
- 架构搭建
- nginx配置(三)重定向
- Python模块之ConfigParser
- instr
- windos杀死进程
- java发送邮件源码
- 通信网络中的透传到底什么意思?
- 2017年你不能错过的Java类库