POJ 3070 Fibonacci
来源:互联网 发布:民国算法 编辑:程序博客网 时间:2024/06/03 22:53
Description
In the Fibonacci integer sequence, F0 = 0, F1 = 1, andFn = Fn − 1 + Fn − 2 forn ≥ 2. For example, the first ten terms of the Fibonacci sequence are:
0, 1, 1, 2, 3, 5, 8, 13, 21, 34, …
An alternative formula for the Fibonacci sequence is
.
Given an integer n, your goal is to compute the last 4 digits of Fn.
Input
The input test file will contain multiple test cases. Each test case consists of a single line containing n (where 0 ≤n ≤ 1,000,000,000). The end-of-file is denoted by a single line containing the number −1.
Output
For each test case, print the last four digits of Fn. If the last four digits ofFn are all zeros, print ‘0’; otherwise, omit any leading zeros (i.e., printFn mod 10000).
Sample Input
099999999991000000000-1
Sample Output
0346266875
Hint
As a reminder, matrix multiplication is associative, and the product of two 2 × 2 matrices is given by
.
Also, note that raising any 2 × 2 matrix to the 0th power gives the identity matrix:
.
分析:此题可以用斐波拉契数列及取余的性质 找到循环节m则f[n]%10000=f[n%m]%10000;
#include<stdio.h>#include<string.h>#define mod 10000#include<vector>using namespace std;int main(){ vector<int>fib; fib.push_back(0); fib.push_back(1); int i; for(i=2;;i++) { fib.push_back((fib[i-1]+fib[i-2])%10000); if(fib[i]==1&&fib[i-1]==0) break; } int cnt=i-1; __int64 a; while(scanf("%I64d",&a)&&a!=-1) { printf("%d\n",fib[a%cnt]); }}
- POJ 3070 Fibonacci
- POJ 3070 Fibonacci
- poj 3070 Fibonacci
- poj 3070 Fibonacci
- poj 3070 Fibonacci
- poj 3070 Fibonacci
- POJ 3070 Fibonacci
- poj 3070:Fibonacci
- POJ FIBONACCI (3070)
- POJ 3070 Fibonacci
- POJ 3070 Fibonacci (矩阵)
- POJ 3070 Fibonacci
- POJ 3070 Fibonacci
- poj-3070-Fibonacci
- poj 3070 Fibonacci
- POJ 3070 Fibonacci
- poj 3070 Fibonacci
- poj 3070 Fibonacci
- NYOJ 汉诺塔(三)
- 如何解决“HTTP 错误 500.19 无法使用虚拟目录密码作为用户 administrator 在本地登录到”?
- MongoDB中的数据导出为JSON文件时报错“Failed: not authorized on XXX to...”
- 8/4 MySQL串讲
- python工具类两则:读取properties,自动记录行数的LogManager
- POJ 3070 Fibonacci
- JAVA集合类--几种特殊的Queue
- 【Java编程】String相关方法的使用(一)
- ios不触发事件也能播放音频
- 【PAT】【Advanced Level】1042. Shuffling Machine (20)
- 线段树练习1
- 一串奇怪的数:
- 持续集成之Jenkins(一)Jenkins安装
- How Many Tables HDU