当前位置:网站首页>POJ 3070 Fibonacci
POJ 3070 Fibonacci
2022-06-26 13:11:00 【YJEthan】
Description
In the Fibonacci integer sequence, F0 = 0, F1 = 1, and Fn = Fn − 1 + Fn − 2 for n ≥ 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 of Fn are all zeros, print ‘0’; otherwise, omit any leading zeros (i.e., print Fn mod 10000).
Sample Input
0 9 999999999 1000000000 -1
Sample Output
0 34 626 6875
Hint
As a reminder, matrix multiplication is associative, and the product of two 2 × 2 matrices is given by
.
Also, note that raising any 2 × 2 matrix to the 0th power gives the identity matrix:
.
analysis : This problem can be solved by fiboracci sequence and the nature of remainder Find the loop section m be f[n]%10000=f[n%m]%10000;
#include<stdio.h>
#include<string.h>
#define mod 10000
#include<vector>
using namespace std;
int main()
{
vector<int>fib;
fib.push_back(0);
fib.push_back(1);
int i;
for(i=2;;i++)
{
fib.push_back((fib[i-1]+fib[i-2])%10000);
if(fib[i]==1&&fib[i-1]==0)
break;
}
int cnt=i-1;
__int64 a;
while(scanf("%I64d",&a)&&a!=-1)
{
printf("%d\n",fib[a%cnt]);
}
}
边栏推荐
- 机器学习笔记 - 时间序列的季节性
- Opencv high speed download
- 倍福PLC实现绝对值编码器原点断电保持---bias的使用
- Stream learning record
- Electron official docs series: Get Started
- 倍福PLC选型--如何看电机是多圈绝对值还是单圈绝对值编码器
- 2、并行接口、协议和相关芯片介绍(8080、8060)
- Is it safe for the head teacher to open a stock account and open an account for financial management?
- Processing random generation line animation
- QT . Establishment and use of pri
猜你喜欢

Solution of Splunk iowait alarm

How does easygbs solve the abnormal use of intercom function?
![[geek challenge 2019] rce me 1](/img/66/e135f7e5a7cbdeb5b697f3939a3402.png)
[geek challenge 2019] rce me 1

详细讲解C语言11(C语言系列)

National standard gb28181 protocol easygbs video platform TCP active mode streaming exception repair
![P5733 [deep foundation 6. example 1] automatic correction](/img/34/081dbd805593a92a86c3081d6772e3.png)
P5733 [deep foundation 6. example 1] automatic correction

Stream learning record

Arcpy——InsertLayer()函数的使用:掺入图层到地图文档里

Processing function translate (mousex, mousey) learning

第01章_Linux下MySQL的安装与使用
随机推荐
倍福Ethercat模块网络诊断和硬件排查的基本方法
享元模式(Flyweight)
心脏滴血漏洞(CVE-2014-0160)分析与防护
Enjoy element mode (flyweight)
倍福TwinCAT通过Emergency Scan快速检测物理连接和EtherCAT网络
postgis 地理化函数
倍福EtherCAT Xml描述文件更新和下载
适配器模式(Adapter)
Verilog中的系统任务(显示/打印类)--$display, $write,$strobe,$monitor
Learning Processing Zoog
外观模式(Facade)
倍福通过CTU和TON实现时间片大小和数量的控制
C - Common Subsequence
Goto statement to realize shutdown applet
What should the software test report include? Interview must ask
scrapy——爬取漫画自定义存储路径下载到本地
I - Dollar Dayz
HDU 3709 Balanced Number
PostGIS geographic function
P2393 yyy loves Maths II