zoj 1962 || poj 2413 How many Fibs?
2012-04-08 22:11
423 查看
#include <stdio.h> #include <iostream> #include <stdlib.h> #include <string.h> using namespace std; int f[500][110]; int x; int len[500],nn,bb; int find(int s[],int n) { for(int i=1;i<500;i++) { if(len[i]<n) continue; if(len[i]==n) { int flag=0; for(int k=n-1;k>=0;k--) { if(f[i][k]>s[k]) return i; else if(f[i][k]==s[k]) continue; else { flag=1;break;} } if(flag==0) { x++; return i; } } if(len[i]>n) return i; } return 0; } int main() { char s1[110],s2[110]; int low[110],high[110]; memset(f,0,sizeof(f)); memset(len,0,sizeof(len)); f[1][0]=1; f[2][0]=2; len[1]=len[2]=1; for(int i=3;i<500;i++) { memcpy(f[i],f[i-1],sizeof(f[i-1])); int l=len[i-1]>len[i-2]?len[i-1]:len[i-2]; for(int k=0;k<l;k++) { f[i][k]+=f[i-2][k]; if(f[i][k]>9) { f[i][k+1]++; f[i][k]%=10; } if(f[i][l]==0) len[i]=l; else len[i]=l+1; } } while(scanf("%s %s",s1,s2)!=EOF&&(s1[0]!='0'||s2[0]!='0')) { int len1=strlen(s1); int len2=strlen(s2); int i; x=0; for(i=len1-1;i>=0;i--) low[len1-1-i]=s1[i]-'0'; for(i=len2-1;i>=0;i--) high[len2-i-1]=s2[i]-'0'; int a=find(low ,len1); int nn=x; x=0; int b=find(high,len2); bb=x; if(nn==1&&bb==1) { cout<<b-a+1<<endl; continue; } if(nn==1&&bb==0) cout<<b-a<<endl; else{ if(nn==0&&bb==1) cout<<b-a+1<<endl; else cout<<b-a<<endl; } } return 0; }
转载声明:http://blog.csdn.net/zxy_snow/article/details/6068592
相关文章推荐
- UVa 10183/EOJ 1297/POJ 2413/HDU 1316/ZOJ 1962 How many Fibs?【Java大整数类应用】
- zoj 1962 || poj 2413 How many Fibs?(大数~)
- POJ 2413 How many Fibs? /HDOJ 1316 How Many Fibs?
- 二分查找+大整数加法——Poj 2413 How many Fibs?
- poj 2413 How many Fibs?
- POJ 2413 : How many Fibs? - JAVA大数! / 二分查找+大数加法
- POJ 2413 How many Fibs? .
- zoj 1962 How Many Fibs?(字符串化为数字处理)
- POJ2413 How many Fibs?【高精度】【二分】
- zoj 1962 How Many Fibs
- POJ 2413 How many Fibs?
- ZOJ 1962 How Many Fibs?
- POJ 2413 How many Fibs?(高精度暴力)
- poj 2413 How many Fibs?
- How many Fibs?(poj 2413)大数斐波那契
- POJ 2413 How many Fibs? 笔记
- POJ 2413 How many Fibs?#二分+大数加法
- POJ 2413 How many Fibs?(高精度)
- poj 2413 java How many Fibs?
- ZOJ 1962 How Many Fibs?