Fibonacci n<10^10次方它的后四位

原创 2012年03月31日 12:19:34
#include <iostream>
#include <cstdio>

using namespace std;

struct M
{
   int	m[4][4];
};

M mul(M a,M b)
{
   M c;
   c.m[0][0]=(a.m[0][0]*b.m[0][0]+a.m[0][1]*b.m[1][0])%10000;
   c.m[0][1]=(a.m[0][0]*b.m[0][1]+a.m[0][1]*b.m[1][1])%10000;
   c.m[1][0]=(a.m[1][0]*b.m[0][0]+a.m[1][1]*b.m[1][0])%10000;
   c.m[1][1]=(a.m[1][0]*b.m[0][1]+a.m[1][1]*b.m[1][1])%10000;
   return c;
}

M creatone()
{
	M c;
	c.m[0][0]=1;
	c.m[0][1]=1;
	c.m[1][0]=1;
	c.m[1][1]=0;
    return c;
}

M fibonacci(int k)
{
	if(k==1) return creatone();
	if(k%2==0) 
	{
		M en = fibonacci(k/2);
		return mul(en,en);
	}
	else 
	{
		M en = fibonacci(k/2);
		return mul(mul(en,en),creatone());
	}
	return creatone();
}
void init()
{
     int n;
	 while(cin>>n)
	 {
		if(n==-1)break;
		if(n==0){cout<<0<<endl;continue;}
		M one = fibonacci(n);;
		int value = one.m[0][1];
		cout<<value%10000<<endl;
	 }
}
int main()
{
	init();
	return 0;
}

C语言 - 斐波那契数列(Fibonacci) 指定区间输出

题目: 输入一个正整数 repeat(0
  • u012495182
  • u012495182
  • 2013年12月07日 15:07
  • 1225

一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?

我的程序: 01./* 02.* 程序的版权和版本声明部分: 03.* Copyright (c) 2013, 烟台大学计算机学院 04.* All rights reserved. ...
  • u012369072
  • u012369072
  • 2013年11月09日 19:47
  • 2051

题目: 一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在 第10次落地时,共经过多 少米?第10次反弹多高?

package 一球从100米高度自由落下问题答案; /** * * @author 何虎 * */ public class CalculateBal { public static v...
  • hexiaohu2009
  • hexiaohu2009
  • 2014年08月22日 17:34
  • 11251

HDU 3117 Fibonacci Numbers(斐波那契前后四位,打表+取对+矩阵快速幂)

HDU 3117 Fibonacci Numbers(斐波那契前后四位,打表+取对+矩阵快速幂) ACM 题目地址:HDU 3117 Fibonacci Numbers 题意:  ...
  • hcbbt
  • hcbbt
  • 2014年08月05日 01:18
  • 1775

hdu 3117 Fibonacci Numbers 斐波那契数列前四位求法

The Fibonacci sequence is the sequence of numbers such that every element is equal to the sum of the...
  • dsaghjkye
  • dsaghjkye
  • 2017年07月05日 10:40
  • 464

ACM--steps--2.2.1--求fibonacci数列的前四位

Fibonacci Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Su...
  • wyx13109395842
  • wyx13109395842
  • 2015年01月31日 22:15
  • 305

Fibonacci hdu1568 斐波那契数列公式的应用-前四位

Fibonacci Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Tota...
  • FrankAx
  • FrankAx
  • 2018年01月03日 10:56
  • 49

Fibonacci的前四位

Description 2007年到来了。经过2006年一年的修炼,数学神童zouyu终于把0到100000000的Fibonacci数列 (f[0]=0,f[1]=1;f[i] = f[i-1]+f...
  • sdau20163942
  • sdau20163942
  • 2017年06月10日 17:51
  • 70

第十天 :让一线程执行10次,然后让二线程执行10,然后一执行,二执行,这样循环50次,编写程序

import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util...
  • java_wht
  • java_wht
  • 2017年05月19日 00:39
  • 135

HDU 3117 由n^k的前4位,推出(斐波那契)矩阵^k的前四位

题意:求出第n项斐波那契数,如果位数小于8直接输出,大于8的只输出前4位和后4位。 思路:后4位,很好做,矩阵快速幂就可以了,(至于矩阵快速幂的原理就不介绍了) 初始矩阵 系数矩阵 ...
  • xiangAccepted
  • xiangAccepted
  • 2017年07月02日 20:05
  • 214
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Fibonacci n<10^10次方它的后四位
举报原因:
原因补充:

(最多只允许输入30个字)