POJ 3070 + 51Nod 1242 大斐波那契数取余

#include "iostream"
#include "cstdio"
using namespace std; class matrix
{
public:
int a[][];
matrix()
{
a[][]=a[][]=a[][]=;
a[][]=;
}
}; matrix multi(matrix a,matrix b)
{
matrix temp;
int i,j,k;
for(i=;i<;i++)
for(j=;j<;j++)
{
temp.a[i][j]=;
for(k=;k<;k++)
temp.a[i][j]+=(a.a[i][k]*b.a[k][j]);
temp.a[i][j]%=;
}
return temp;
} matrix power(int n)
{
matrix temp,s;
temp.a[][]=temp.a[][]=;
temp.a[][]=temp.a[][]=;
while(n!=)
{
if(n%!=)
temp=multi(temp,s);
s=multi(s,s);
n=n/;
}
return temp;
} int main()
{
int n;
while(~scanf("%d",&n)&&(n!=-))
{ matrix t=power(n);
cout<<t.a[][]<<endl;
}
return ;
}
#include "iostream"
#include "cstdio"
using namespace std;
#define MOD 1000000009
#define LL long long
class matrix
{
public:
LL a[][];
matrix()
{
a[][]=a[][]=a[][]=;
a[][]=;
}
}; matrix multi(matrix a,matrix b)
{
matrix temp;
LL i,j,k;
for(i=;i<;i++)
for(j=;j<;j++)
{
temp.a[i][j]=;
for(k=;k<;k++)
temp.a[i][j]+=(a.a[i][k]*b.a[k][j]);
temp.a[i][j]%=MOD;
}
return temp;
} matrix power(LL n)
{
matrix temp,s;
temp.a[][]=temp.a[][]=;
temp.a[][]=temp.a[][]=;
while(n!=)
{
if(n%!=)
temp=multi(temp,s);
s=multi(s,s);
n=n/;
}
return temp;
} int main()
{
LL n;
while(~scanf("%lld",&n)&&(n!=-))
{ matrix t=power(n);
cout<<t.a[][]<<endl;
}
return ;
}
POJ 3070 + 51Nod 1242 大斐波那契数取余的更多相关文章
- UVA 11582 Colossal Fibonacci Numbers! 大斐波那契数
大致题意:输入两个非负整数a,b和正整数n.计算f(a^b)%n.其中f[0]=f[1]=1, f[i+2]=f[i+1]+f[i]. 即计算大斐波那契数再取模. 一开始看到大斐波那契数,就想到了矩阵 ...
- 【51nod 1355】 斐波那契数的最小公倍数
题目 51nod的数学题都还不错啊 首先直接算显然是没有办法算的,因为\(fib\)的lcm这个东西还是太鬼畜了 我们考虑到\(fib\)数列的一个非常好的性质是\(gcd(fib_i,fib_{j} ...
- POJ 3070(求斐波那契数 矩阵快速幂)
题意就是求第 n 个斐波那契数. 由于时间和内存限制,显然不能直接暴力解或者打表,想到用矩阵快速幂的做法. 代码如下: #include <cstdio> using namespace ...
- nyoj-655-光棍的yy(大斐波那契数列)
题目链接 /* 思路: 考察大斐波那契数列 */ import java.util.*; import java.math.*; public class Main{ public static vo ...
- YTU 2503: 大斐波那契数列
2503: 大斐波那契数列 时间限制: 1 Sec 内存限制: 200 MB 提交: 974 解决: 400 题目描述 斐波那契数列,又称黄金比例数列,指的是这样一个数列:0.1.1.2.3.5. ...
- Project Euler 104:Pandigital Fibonacci ends 两端为全数字的斐波那契数
Pandigital Fibonacci ends The Fibonacci sequence is defined by the recurrence relation: F[n] = F[n-1 ...
- DP:斐波纳契数
题目:输出第 n 个斐波纳契数(Fibonacci) 方法一.简单递归 这个就不说了,小n怡情,大n伤身啊……当n=40的时候,就明显感觉到卡了,不是一般的慢. //输出第n个 Fibonacci 数 ...
- 力扣题目汇总(重复N次元素,反转字符串,斐波那契数)
重复 N 次的元素 1.题目描述 在大小为 2N 的数组 A 中有 N+1 个不同的元素,其中有一个元素重复了 N 次. 返回重复了 N 次的那个元素. 示例 1: 输入:[1,2,3,3] 输出:3 ...
- 用x种方式求第n项斐波那契数,99%的人只会第一种
大家好啊,我们又见面了.听说有人想学数据结构与算法却不知道从何下手?那你就认真看完本篇文章,或许能从中找到方法与技巧. 本期我们就从斐波那契数列的几种解法入手,感受算法的强大与奥妙吧. 原文链 ...
随机推荐
- iOS下原生与JS交互(总结)
iOS开发免不了要与UIWebView打交道,然后就要涉及到JS与原生OC交互,今天总结一下JS与原生OC交互的两种方式. JS调用原生OC篇(我自己用的方式二,简单方便) 方式一 第一种方式是用JS ...
- hdu1505City Game(动态规划)
City Game Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total S ...
- 虚拟现实-VR-UE4-编译源代码后,无法运行
情况是这个样,在一开始我编译后,是可以运行,但是当我重新做系统后,再次运行时,每次都是到加载的18%的时候提示了如下错误 具体解决方法还没有找到,正在努力找中.........,会后续更新 同时希望有 ...
- 第八篇Python基本数据类型之列表、元组与字典
列表 写在最前,必须要会的:append(),extend(),insert(),索引,切片,循环 list 是一个类,是个对象 列表用 方括号[]括起来的,[]内以逗号分割每个元素,列表中的元素可 ...
- ThreadPool线程池的几种姿势比较
from multiprocessing.pool import ThreadPool #from multiprocessing.dummy import Pool as ThreadPool #这 ...
- 转型、java基础之Java变量命名规范 (转载)
向上转型:基类引用指向导出类(派生类)的对象(实例)向下转型:导出类的引用指向基类的对象(实例) 重点:向下转型只有将该引用的导出类的向上转型后向下转型,运行时才不会报错 Java是一种区分字母的大 ...
- HDFS伪分布式环境搭建
(一).HDFS shell操作 以上已经介绍了如何搭建伪分布式的Hadoop,既然环境已经搭建起来了,那要怎么去操作呢?这就是本节将要介绍的内容: HDFS自带有一些shell命令,通过这些命令我们 ...
- HDU 3697 Selecting courses(贪心+暴力)(2010 Asia Fuzhou Regional Contest)
Description A new Semester is coming and students are troubling for selecting courses. Students ...
- Mininet简单性能测试
建一个简单的模型,使用一个单交换机,然后链接n个主机形成拓扑,然后对每个链路设置带宽,延迟时间,和丢包率. 这里就选择建一个单交换机和六个主机的作为例子. 创建py脚本生成拓扑:写一个类生成一个单交换 ...
- 【WebService】——契约优先
相关博客: [WebService]--入门实例 [WebService]--SOAP.WSDL和UDDI 前言: 我们先来看一个契约优先的开发实例,通过熟悉他的开发流程,最后再和代码优先的方式进行比 ...