数学题 —— Fibonacci
2016-05-22 18:15
211 查看
Fibonacci
【题目描述】
Fibonacci 数列定义如下f[i]=f[i−2]+f[i−1](i>2)
1(i=2)
1(i=1)
请你求 Fibonacci 数列的第 n 项
【输入】
一个整数 n (1<=n<=231−1)【输出】
一个整数。Fibonacci 数列的第 n 项 mod 32768 的值。
Solution
很水的题目,经过计算(其实就是打表),我们发现每 49151 就会循环一次。所以只要输出模意义下的解就行了。
Code
[cpp] #include <iostream>#include <cstdio>
using namespace std;
int q[49166];
int main(){
freopen(”fibonacci.in”,“r”,stdin);
freopen(”fibonacci.out”,“w”,stdout);
int a=1,b=1,c,n;
scanf(”%d”,&n);
q[1]=q[2]=1;
for(int i=3;i<=49165;i++){
c=(a%32768+b%32768)%32768;
a=b%32768;
b=c%32768;
q[i]=c;
}
int tmp=n%49152;
if(tmp==0)tmp=49152;
printf(”%d\n”,q[tmp]);
return 0;
}
相关文章推荐
- 华为oj 24点游戏
- JS扩展方法
- 绕过下载器下载可在线试听的音乐
- jQuery中的get和post方法
- 利用nvm管理nodejs
- 经典SQL语句大全
- 二进制的位运算
- 内核笔记2-Linux内核进程控制
- listView 点击事件实现方法
- 判断单链表回文
- VB.net学习笔记(二十二)XML的DOM模型读写
- 并发入门
- 第十二周进度条
- [置顶] 组合数学各种小定理
- 页面未随软键盘上升及android隐藏软键盘总结
- c++上机实验6-项目3-矩阵求和
- newLISP运行scp命令并打印进度
- HDU 5699 货物运输 (二分 + 不等式判断 好题)
- Machine Learning - Andrew NG Class02 - 监督学习应用.梯度下降
- vim 格式化文本,调整缩进