入门训练 Fibonacci数列
2016-02-04 23:18
239 查看
问题描述
Fibonacci数列的递推公式为:Fn=Fn-1+Fn-2,其中F1=F2=1。
当n比较大时,Fn也非常大,现在我们想知道,Fn除以10007的余数是多少。
输入格式
输入包含一个整数n。
输出格式
输出一行,包含一个整数,表示Fn除以10007的余数。
说明:在本题中,答案是要求Fn除以10007的余数,因此我们只要能算出这个余数即可,而不需要先计算出Fn的准确值,再将计算的结果除以10007取余数,直接计算余数往往比先算出原数再取余简单。
样例输入
10
样例输出
55
样例输入
22
样例输出
7704
数据规模与约定
1 <= n <= 1,000,000。
Fibonacci数列的递推公式为:Fn=Fn-1+Fn-2,其中F1=F2=1。
当n比较大时,Fn也非常大,现在我们想知道,Fn除以10007的余数是多少。
输入格式
输入包含一个整数n。
输出格式
输出一行,包含一个整数,表示Fn除以10007的余数。
说明:在本题中,答案是要求Fn除以10007的余数,因此我们只要能算出这个余数即可,而不需要先计算出Fn的准确值,再将计算的结果除以10007取余数,直接计算余数往往比先算出原数再取余简单。
样例输入
10
样例输出
55
样例输入
22
样例输出
7704
数据规模与约定
1 <= n <= 1,000,000。
#include <iostream> using namespace std; int f[1000010]; int main () { f[1] = f[2] = 1; int n; cin >> n; for (int i = 3; i <= n; i++) { f[i] = f[i - 1] + f[i - 2]; f[i] = f[i] % 10007; } cout << f << endl; return 0; }注:f[]是个很大的数组,放在主函数外面,防止运行出错
相关文章推荐
- 给索尼A7 A7R A7RII选个挂机头?
- 腾讯红包照片即将到来
- 无根树转化为有根树
- 关于Linux写脚本的小tips
- Xv6下载 编译 运行
- ng-animate动画实例
- poj3750
- Xcode插件管理工具Alcatraz
- File I/O Chapter-3
- c++ 关键字: explicit
- HDU——1020Encoding(水题,string过)
- Java实现多线程邮件发送
- 【HDOJ】4426 Palindromic Substring
- C语言允许以下划线开头的函数存在
- VMware网络模式——NAT端口映射
- 算法导论例程——堆排序(大根堆为例)
- Help is needed for Dexter
- Vim学习总结
- hihoCoder - 1081 - 最短路径·一:Dijkstra算法
- 自定义等高的cell(xib)