POJ 2413 How many Fibs?(高精度)
2012-06-18 21:33
295 查看
题目链接
复习的好累啊,刷个题。。。题意简单给两个数,找中间有多少个斐波那契数,最大可能有100位。
先预处理出来,大数比较,我用的方法比较搞,以前做UVA的时候想出的一种方法,先判断位数,然后位数相同时,用strcmp函数来判断,因为此函数,可以判断两个字符串的字典序大小,然后注意点找的时候小细节就OK了。。。难得的1Y,话说UVA那个高精度 我还没过啊,UVA上各种坑人啊,如果数据有前导0,此算法悲剧。。。
复习的好累啊,刷个题。。。题意简单给两个数,找中间有多少个斐波那契数,最大可能有100位。
先预处理出来,大数比较,我用的方法比较搞,以前做UVA的时候想出的一种方法,先判断位数,然后位数相同时,用strcmp函数来判断,因为此函数,可以判断两个字符串的字典序大小,然后注意点找的时候小细节就OK了。。。难得的1Y,话说UVA那个高精度 我还没过啊,UVA上各种坑人啊,如果数据有前导0,此算法悲剧。。。
#include <stdio.h> #include <string.h> int p[601][201],num[601]; char str[601][201]; int main() { int i,j,len1,len2; char a[101],b[101]; p[1][0] = 1;p[2][0] = 2; num[1] = num[2] = 0; for(i = 3;i <= 500;i ++) { num[i] = num[i-1]; for(j = 0;j <= num[i];j ++) { p[i][j] = p[i-1][j] + p[i-2][j]; } for(j = 0;j <= num[i];j ++) { if(p[i][j] > 9) { p[i][j+1] += p[i][j]/10; p[i][j] = p[i][j]%10; if(j+1>num[i]) num[i] = j + 1; } } } for(i = 1;i <= 500;i ++) { for(j = 0;j <= num[i];j ++) { str[i][num[i]-j] = p[i][j] + '0'; } str[i][num[i]+1] = '\0'; } while(scanf("%s%s",a,b)!=EOF) { if(a[0] == '0'&&b[0] == '0') break; len1 = strlen(a) - 1; len2 = strlen(b) - 1; for(i = 1;;i ++) { if(num[i] >= len1) { if(num[i] == len1) { if(strcmp(str[i],a)>=0) break; } else break; } } for(j = i;;j ++) { if(num[j] >= len2) { if(num[j] == len2) { if(strcmp(str[j],b)>0) break; } else break; } } printf("%d\n",j-i); } return 0; }
相关文章推荐
- (高精度运算4.7.31)POJ 2413 How many Fibs?(大数累加)
- POJ2413 How many Fibs?【高精度】【二分】
- POJ 2413 How many Fibs?(高精度暴力)
- POJ 2413 : How many Fibs? - JAVA大数! / 二分查找+大数加法
- 二分查找+大整数加法——Poj 2413 How many Fibs?
- zoj 1962 || poj 2413 How many Fibs?(大数~)
- poj 2413 java How many Fibs?
- zoj 1962 || poj 2413 How many Fibs?
- POJ 2413 How many Fibs?
- pku 2413 How many Fibs? 【java高精度】
- How many Fibs?(poj 2413)大数斐波那契
- poj 2413 How many Fibs?
- POJ 2413 How many Fibs? 笔记
- POJ 2413 How many Fibs? /HDOJ 1316 How Many Fibs?
- poj 2413 How many Fibs?
- UVa 10183/EOJ 1297/POJ 2413/HDU 1316/ZOJ 1962 How many Fibs?【Java大整数类应用】
- 二分查找+大整数加法——Poj 2413 How many Fibs?
- poj 2413 How many Fibs? 大数累加模板+字符串模拟大数比较大小
- hdu 1316 poj 2413 how many Fibs
- POJ 2413 How many Fibs? .