UVa 10183 - How Many Fibs?
来源:互联网 发布:ubuntu14.04卸载软件 编辑:程序博客网 时间:2024/05/21 22:53
求区间[a,b]内斐波那契数的个数,因为最大到了10的100次方,初步递推一下,10的100次方左右,可达到斐波那契数列的第480项左右,因此用暴力枚举+大数加法即可。
代码如下:
#include <cstdio>#include <cstring>#include <cmath>char fibo[480][105];void Fibonacci(char *a, char *b, char *c)//斐波那契数列打表{ int len = strlen(a); for(int i=0; i<len; i++) { c[i] += a[i] + b[i] - '0'; if(c[i] < '0') c[i] += '0'; if(c[i] > '9') { c[i] -= 10; ++c[i+1]; } } if(c[len]==1) c[len] += '0';}int Compare(char *a, char *b)//比较两个大数的大小{ int len_a = strlen(a), len_b(strlen(b)); if(len_a > len_b) return 1; else if(len_a < len_b) return -1; for(int i=0; i<len_a; i++) if(a[i] > b[len_b-i-1]) return 1; else if(a[i] < b[len_b-i-1]) return -1; return 0;}int main(){#ifdef test freopen("sample.txt", "r", stdin);#endif char a[105], b[105]; fibo[0][0] = 1+'0'; fibo[1][0] = 2+'0'; for(int i=2; i<=480; i++) Fibonacci(fibo[i-1], fibo[i-2], fibo[i]);// for(int i=1; i<=480; i++)// {//打表测试10的100次方内斐波那契数列的项数// printf("(%d)", strlen(fibo[i]));// for(int j=strlen(fibo[i])-1; j>=0; j--)// printf("%c", fibo[i][j]);// puts("");// } while(scanf("%s%s", a, b) != EOF) { if(!strcmp(a, "0") && !strcmp(b, "0")) break; int ct1, ct2; for(int i=0; i<=480; i++) if(Compare(a, fibo[i]) <= 0) { ct1 = i; break; } for(int i=ct1; i<=480; i++) if(Compare(b, fibo[i]) < 0) { ct2 = i; break; } printf("%d\n", ct2 - ct1); } return 0;}
- uva 10183 how many fibs
- uva 10183 How Many Fibs
- UVa 10183 - How Many Fibs?
- UVA 10183 How Many Fibs?
- UVa 10183 - How Many Fibs?
- UVa 10183 - How Many Fibs?
- UVA 10183 How Many Fibs?
- UVa:10183 How Many Fibs?
- uva 10183 How many Fibs?
- UVa Problem Solution: 10183 - How many fibs?
- uva 10183 - How Many Fibs?(Fibonacci)
- How Many Fibs? - UVa 10183 大数加法
- How many fibs
- PKU2413 how many fibs
- How Many Fibs?
- UVa10183 - How Many Fibs?
- HDU1316:How Many Fibs?
- hdu1316 How Many Fibs?
- cxf处理所有情况的参数传递
- 关于spring 与rmi整合简单例子详解
- 这个位置是留给你的-From 我知女人心
- 有趣:256个class选择器可以干掉1个id选择器
- 纺大学子发明隐形眼镜佩戴摘取工具获国家专利
- UVa 10183 - How Many Fibs?
- java项目打jar包
- android:shape的使用
- Android学习之 在surface上显示YUV 笔记
- 【转】iOS开发---开源项目和开源类库篇
- 宏函数
- FCKeditor 2.6.4在ASP.NET中的配置方法
- 传奇女性图片介绍
- 正当年华--天涯软文