poj3070(快速幂)
来源:互联网 发布:windows字体文件夹 编辑:程序博客网 时间:2024/06/05 10:52
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
矩阵的快速幂,套用模板
#include <cstdlib>#include <cstring>#include <cstdio>#include <iostream> using namespace std;int N;struct matrix{int a[3][3];}origin,res;matrix multiply(matrix x,matrix y){matrix temp;memset(temp.a,0,sizeof(temp.a));for(int i=0;i<2;i++){for(int j=0;j<2;j++){for(int k=0;k<2;k++){temp.a[i][j]=(temp.a[i][j]+x.a[i][k]*y.a[k][j])%mod;}}}return temp;}void calc(int n){int i,j;while(n){if(n&1)res=multiply(res,origin);n>>=1;origin=multiply(origin,origin);}}int main(){ while(cin>>N&&N>=0) {res.a[0][0]=res.a[1][1]=1;res.a[0][1]=res.a[1][0]=0;origin.a[0][0]=origin.a[0][1]=origin.a[1][0]=1;origin.a[1][1]=0; calc(N);printf("%d\n",res.a[0][1]); } return 0;}
- poj3070--矩阵 快速幂
- poj3070(快速幂)
- poj3070矩阵快速幂
- poj3070矩阵 快速幂
- 快速矩阵幂POJ3070
- POJ3070(快速幂)
- poj3070 矩阵快速幂
- poj3070 Fibonacci 矩阵快速幂
- poj3070 Fibonacci 矩阵快速幂
- POJ3070 - Fibonacci - 矩阵快速幂
- POJ3070 Fibonacci(矩阵快速幂)
- poj3070 Fibonacci(矩阵快速幂)
- poj3070 Fibonacci(矩阵快速幂)
- POJ3070--Fibonacci--矩阵快速幂
- POJ3070(矩阵快速幂模板)
- poj3070(矩阵快速幂)
- poj3070 矩阵快速幂Fib
- Poj3070 Fibonacci (矩阵快速幂)
- 关于面试你不知道的几点(转自web开发者)
- ruby用户级线程
- cuda安装配置和新建cuda程序
- 程序员最喜欢说的20句话
- Cygwin安装方法
- poj3070(快速幂)
- 人生顿悟之学好不一定就真的会了
- 教新手了解怎么从网络中赚钱
- hdu 1372
- Facade模式
- C#代码艺术
- Linux I2C驱动(2012-08-24 14:37:21)
- C Traps and Pitfalls
- 北京设计模式学习组BJDP第2次活动(2013.05.18)回顾会纪要