1168 Fibonacci数列
2012-07-06 10:27
176 查看
描述
已知Fibonacci数列
F1=1,
F2=1,
F3=2,
F4=3,
F5=5,
...
Fx=Fx-1+Fx-2
求Fibonacci数列的各项中末尾恰好有k个0的第m项。比如末尾恰好有1个0的第1项就是F15=610,而末尾恰好有2个0的第2项则是
F300=222232244629420445529739893461909967206666939096499764990979600,
我们只需要这一项的下标。
输入
输入包含多组数据。
第一行为数据的组数x(0<x<=20),接下来每组数据一行。
每组数据包括两个整数k和m,用一个空格隔开,输入保证输出结果小于231。
输出
每组数据输出一行,为Fibonacci数列中末尾恰好有k个0的第m项的下标。
样例输入3
1 1
2 2
2 5 样例输出15
300
900此题通过找规律求解
已知Fibonacci数列
F1=1,
F2=1,
F3=2,
F4=3,
F5=5,
...
Fx=Fx-1+Fx-2
求Fibonacci数列的各项中末尾恰好有k个0的第m项。比如末尾恰好有1个0的第1项就是F15=610,而末尾恰好有2个0的第2项则是
F300=222232244629420445529739893461909967206666939096499764990979600,
我们只需要这一项的下标。
输入
输入包含多组数据。
第一行为数据的组数x(0<x<=20),接下来每组数据一行。
每组数据包括两个整数k和m,用一个空格隔开,输入保证输出结果小于231。
输出
每组数据输出一行,为Fibonacci数列中末尾恰好有k个0的第m项的下标。
样例输入3
1 1
2 2
2 5 样例输出15
300
900此题通过找规律求解
#include <stdio.h> int main() { int n, t; int i, j; int m, sum; int k,kk; scanf("%d", &t); while(t --) { scanf("%d%d", &n, &m); k = 1; kk; for(i = 1; i < n; i ++) { k *= 10; } k *= 15; if(m < 10 && n == 1) { sum = 15*m; } else { if(n == 1) { sum = 15 * m; sum += (15*((m - 1)/9)); } else { if(n == 2) { sum = k*m; sum += (k*((m - 1)/4)); } else { k = k /2; sum = k* m; sum += (k*((m - 1)/9)); } } } printf("%d\n", sum); } return 0; }
相关文章推荐
- HTML在线编辑器的原理(转载整理)http://www.cnbruce.com/blog/showlog.asp?log_id=1168
- Fibonacci数列
- 程序员面试题精选--(05)求Fibonacci数列
- 算法学习笔记(3)——分治法,Fibonacci数列,Strassen算法
- 求Fibonacci数列:1,1,2,3,5,8,...第10个数的值
- nyoj461 Fibonacci数列(四)(求前四位)
- nyoj 301 递推求值 和 nyoj 148 fibonacci数列(二) 【矩阵】
- 求Fibonacci数列的第N个数字
- 76_用数组来处理Fibonacci数列问题.cpp
- java中著名的Fibonacci数列的实现及Java中的一维数组实现著名的Fibonacci数列。
- fibonacci数列
- ZOJ 1168 Function Run Fun
- 利用矩阵求解fibonacci数列 时间复杂度为O(lgn)
- (2)C代码之Fibonacci数列
- 程序员面试题精选100题(16)-O(logn)求Fibonacci数列[算法]
- 题目1168:字符串的查找删除
- wikioi 1973 Fibonacci数列【输出第N项的值】
- 第六周作业-闰年之循环判断,IF语句大显身手之成绩判断,Fibonacci数列,冒泡排序
- [BEGIN-4] Fibonacci数列
- 14 PHP 递归函数 fibonacci数列