博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
51nod 1242 斐波那契数列的第N项
阅读量:5254 次
发布时间:2019-06-14

本文共 1141 字,大约阅读时间需要 3 分钟。

斐波那契数列的定义如下:
 
F(0) = 0
F(1) = 1
F(n) = F(n - 1) + F(n - 2) (n >= 2)
 
(1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, ...)
给出n,求F(n),由于结果很大,输出F(n) % 1000000009的结果即可。
 
 
 

输入

输入1个数n(1 <= n <= 10^18)。

输出

输出F(n) % 1000000009的结果。

输入样例

11

输出样例

89 。 代码:
#include
#include
#include
#include
#include
#define mod 1000000009using namespace std;void mul(long long (*a)[2],long long (*b)[2]) { long long d[2][2] = {
0}; for(int i = 0;i < 2;i ++) { for(int j = 0;j < 2;j ++) { for(int k = 0;k < 2;k ++) { d[i][j] += (a[i][k] * b[k][j]) % mod; } d[i][j] %= mod; } } for(int i = 0;i < 2;i ++) { for(int j = 0;j < 2;j ++) { a[i][j] = d[i][j]; } }}int f(long long n) { long long a[2][2] = {
1,1,1,0},d[2][2] = {
1,0,0,1}; while(n) { if(n % 2)mul(d,a); n /= 2; mul(a,a); } return d[1][0];}int main() { long long n; cin>>n; cout<

 

转载于:https://www.cnblogs.com/8023spz/p/9948654.html

你可能感兴趣的文章
JSON
查看>>
OSCP Learning Notes - Capstone(1)
查看>>
Django框架(三十)—— 使用Vue搭建前台
查看>>
jQuery.特效
查看>>
基于Jquery的级联选择器
查看>>
[模板]左偏树
查看>>
python课堂整理26 ---json、pickle、shelve模块(序列化处理)
查看>>
第3条:多用字面量语法,少用与之等价的方法
查看>>
java中的方法覆盖(Overriding)和方法重载(Overloading)是什么意思?重写跟重载的区别?...
查看>>
idou老师教你学Istio 22 : 如何用istio实现调用链跟踪
查看>>
使用SharePoint 2010 母版页
查看>>
兄弟2820技术
查看>>
sql 的实用函数(包含日期函数、截取字符串函数)
查看>>
C#获取内存信息
查看>>
GridControl CardView ShowCardExpandButton or GridCardExpandButton
查看>>
Oracle数据库优化器的优化方式
查看>>
KMP字符串匹配算法
查看>>
Android中判断网络连接状态
查看>>
HTML 5 Web SQL核心三叉戟
查看>>
Css动画总结
查看>>