Fibonacci

用FIBONACCI数列表示任意正整数 已知FIBONACCI数列的定义为:F1 = 1, F2 = 1, n > 2时, Fn = Fn - 1 + Fn - 2,请编程验证:任意的正整数可表示为若干个不同的FIBONACCI数之和。例如,45可以表示为45 = 34 + 8 + 3(即F9 + F5 + F3) 输入:重复地从键盘上读入一个正整数N(<=10000) 输出:将其表示为不同的FIBONACCI数之和。 ... 阅读详情

点击打开链接

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


#include<cstdio>
#include<string.h>
#define MOD 10000
using namespace std;
struct Mat{
	long long a[5][5];
}A,B;
void init()
{
	A.a[1][1] = A.a[1][2] = A.a[2][1] = 1;A.a[2][2] = 0;
	B.a[1][1] = B.a[1][2] = B.a[2][1] = 1;B.a[2][2] = 0;
}
Mat Ma(Mat x,Mat y)
{
	Mat t;
	memset(t.a,0,sizeof(t.a));
	for(int i = 1; i <= 2; i++)
	for(int j = 1; j <= 2; j++){
		if(x.a[i][j] == 0) continue; 
		for (int q = 1 ; q <= 2 ; q++)  
             t.a[i][q] = (t.a[i][q] + x.a[i][j] * y.a[j][q] % MOD) % MOD;
        t.a[i][j] = t.a[i][j] % MOD;
	}
	return t;
}
void MatQuck(int k)
{
	while(k){
		if(k&1) 
		B = Ma(A,B);
		A = Ma(A,A);
		k >>= 1;
	}
}




int main()
{
	int f[5]={0,1,1,2,3};
	long long n;
	while(~scanf("%lld",&n)&&(n!=-1)){
		if(n<5) printf("%d\n",f[n]);
		else {
			init();
			MatQuck(n-4);
			long long sum = 0;
			for(int i = 1; i <= 2; i++)
			for(int j = 1; j <= 2; j++)
			sum = (sum + B.a[i][j]) % MOD;
			printf("%lld\n",sum);
		}
	}
 } 
 


Fibonacci进制 时间限制:C/C++ 1秒,其他语言2秒空间限制:C/C++ 32768K,其他语言65536K 64bit IO Format: %lld题目描述 Fibonacci数是非常有名的一个数列,它的公式为 f(n)=f(n-1)+f(n-2),f(0)=1,f(1)=2。  我们可以把任意一个数x表示成若干不相同的Fibonacci数的和, 比如说14 = 13+1 = 8+5+1 = 8+... 阅读详情

相关推荐

(矩阵快速幂)解所有类似Fibonacci 的题目

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, … ...

及时总结 529

poj 3070 Fibonacci(矩阵快速幂)

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,

浮躁的人,终究一事无成! 1044

C语言Fibonacci 数列

功能是:求 Fibonacci 数列中大于 t 的小的一个数,结果由函数返回。其中 Fibonacci 数列 F(n)的定义为: F(0)=0,F(1)=1 F(n)=F(n-1)+F(n-2) 最后调用函数writeDat()读取50个数据t,分别得出结果且把结果输出到文件out.dat中。 例如:当 t=1000 时,函数值为:1597。 #include <stdio.h> in...

希望我的博客,能帮上你解决学习中工作中所遇到的问题 1546

POJ3074 Sudoku(数独(二))(位运算优化及DFS)

题目链接 (AC代码在最后面) Description In the game of Sudoku, you are given a large 9 × 9 grid divided into smaller 3 × 3 subgrids. For example, . 2 7 3 8 . . 1 . . 1 . . ...

悲伤无声地涌出来 1257

告别理论!手把手教你用Patran/Nastran搞定悬臂翼的颤振分析(附完整模型文件)

本文提供了一份详细的Patran/Nastran悬臂翼颤振分析实战指南,涵盖从几何建模到结果解读的全过程。通过手把手教学和完整模型文件,帮助工程师和学生快速掌握气动弹性分析技术,特别适合需要实际操作的初学者。文章重点介绍了模态分析、气动建模和颤振求解等关键步骤,并提供了常见问题排查和优化建议。

weixin_30879169的博客 493

《UE4游戏开发》之 《查cook资源失败,问题记录》

当项目打包时,cook出错,但是从原始引擎提供的信息中,没有提示具体的那个资源出错,要查到出错资源,还是非常麻烦。 下面就材质cook出错,增加一些日志,方便查找问题做简单记录 材质cook的一个阶段,是收集MaterialShaderMap,如果在这个阶段收集的信息出错,将会在FShaderMapContent::GetOutdatedTypes函数中,因为Shaders指针指向的内存有问题而出错,通过断点发现,FShaderMapContent这个类对象指针为null,而这个类对象的来源于AllMat.

qq_21919621的博客 2581

数独求解问题(DFS+位运算优化)

In the game of Sudoku, you are given a large 9 × 9 grid divided into smaller 3 × 3 subgrids. For example, . 2 7 3 8 . . 1 . . 1 . . . 6 7 3 5 . ...

black_hole6的博客 1278

Microchip Studio 7.0 从下载到项目调试:AVR开发者的完整入门指南(附常见问题解决)

本文为AVR开发者提供了Microchip Studio 7.0从下载安装到项目调试的完整入门指南。详细介绍了如何获取安装包、创建第一个AVR工程项目,并配置编译与调试环境。同时,文章重点解决了开发过程中常见的编译错误和仿真问题,帮助开发者快速上手并高效使用这一官方集成开发环境。

joy55的博客 336

Fibonacci Tree

F - Fibonacci Tree 这道题特别郁闷,明明感觉没错的啊,跟别人写的也几乎差不多啊(刚开始是思路差不多,到后米变成代码差不多了),但是依旧有错,最后把别人的代码粘贴过来改成我定义的一些字符,提交就对了,但是提交我自己的与他的几乎一样的代码,还是wrong,不过不想管那么多了。 这个题的意思是给定一些点边,有些边为白色即为1,有些边为黑色即为0,要求所有生成树中,含有白色边的条数是

Limhhhhh的博客 1137

配置cts performance最优范围

这里写自定义目录标题cts例如此案例中,我们多测几次,发现Measured frame rate 的平均值为average=(380+389+380+371)/4=380 cts by VinterYoung Expected achievable frame rates for OMX.MTK.VIDEO.DECODER.HEVC video/hevc 1280x720: [75.0, 262.0]. Measured frame rate: [380.5645006622224, 389.3983545

o343196469的博客 1321

GSEA富集分析实战:从数据准备到结果解读的完整R代码指南

本文提供了一份完整的GSEA富集分析实战指南,涵盖从R环境准备、数据质量控制到基因ID转换、参数优化和结果解读的全流程。通过详细的R代码示例和实用技巧,帮助研究人员高效完成基因集富集分析,特别针对生物信息学中常见的GSEA分析痛点提供了专业解决方案。

weixin_29246195的博客 537

Fibonacci数列

无穷数列1,1,2,3,5,8,13,21,34,55,……,称为Fibonacci数列。它可以递归地定义为: 第n个Fibonacci数可递归地计算如下: int fibonacci(int n) { if (n <= 1) return 1; return fibonacci(n-1)+fibonacci(n-2); } 编写完整的主函数,分别记录利用上述递归函数求第47, 48, 49, 50, 51,52个Fibonacci数所花费的时间。 package work; public clas

yidaa2的博客 1118

海康机器人visionmaster5.0全局通信西门子S7操作

德国西门子(SIEMENS)公司生产的可编程序控制器在我国的应用也相当广泛,在冶金、化工、印刷生产线等领域都有应用。西门子(SIEMENS)公司的PLC产品包括S7-200、S7-1200、S7-300、S7-400、S7-1500等。西门子S7系列PLC体积小、速度快、标准化,具有网络通信能力,功能更强,可靠性高。S7系列PLC产品可分为微型PLC(如S7-200),小规模性能要求的PLC(如S7-300)和中、高性能要求的PLC(如S7-400)等。

weixin_65316120的博客 424

Fibonacci Heap

<br />经过一下午的debug,总写出能运行的Fibonacci Heap了~<br /> <br />测试表明,运行的常数没有想象中的大。<br />和dijkstra配合的也不错,中小数据和二项堆表现几乎持平。<br />有待进一步大数据测试<br /> <br /> <br />#ifndef __FIB_HEAP__ #define __FIB_HEAP__ #include"PQ.h" template<class T> class fib_heap : public PQ<T>{

biran007的专栏 2152

手把手教你学simulink(57.3)--电励磁同步电动机场景示例:基于Simulink的自适应控制(Adaptive Control)电励磁同步电动机

目录基于Simulink的自适应控制(Adaptive Control)电励磁同步电动机项目实例1. 项目背景2. 系统架构2.1 电励磁同步电动机模型2.2 三相逆变器模型2.3 自适应控制器(Adaptive Controller)2.4 系统框图3. 模型设计3.1 创建Simulink模型3.2 自适应控制(Adaptive Control)设计3.3 仿真环境搭建4. 参数优化4.1 自动调优5. 实际应用案例5.1 工业驱动系统5.2 风力发电系统6. 结论需求分析电励磁同步电动机(Electr

MHD0815的博客 505

月薪2万+的网络工程师,到底藏着哪些“绝活”?

在IT圈,网络工程师是个既神秘又硬核的职业。月薪2万+的网工,早已不是只会拉网线、改IP的“IT民工”,而是掌握了一身“绝技”的技术大牛。他们能让企业网络如丝般顺滑,面对宕机临危不乱,还能用自动化脚本批量搞定上百台设备。想知道这些高薪网工的秘密武器是什么?今天,我就以一个老网工的视角,结合自己和同行们的实战经验,扒一扒那些月薪2万+的网络工程师都身怀哪些绝技。如果你也想挤进高薪行列,不妨参考参考!

网络技术联盟站 362

Fibonacci Heaps

绪论 Fibonacci Heaps和Complete Heaps一样都是优化版本的堆。Complete Heaps是通过完全二叉树的简单性质来避免堆出现糟糕的退化情况,实际上在一般(最优)情况下各操作的复杂度和一般堆是一样的。 Fibonacci Heaps的优化结合了lazy操作(懒惰标记),散列的一些思想和Fibonacci数的数学性质,在树的结构上不要求一昧的维持平衡(可能也维持了,只是我没有理解),在操作上可以将union(合并),insert(插入),decrease-key(修改某个元素的ke

weixin_55835175的博客 2155

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

计算Fibonacci数的简单函数

本题要求实现一个计算Fibonacci数的简单函数,并利用其实现另一个函数,输出两正整数m和n(0<m≤n≤10000)之间的所有Fibonacci数。所谓Fibonacci数列就是满足任一项数字是前两项的和(最开始两项均定义为1)的数列。 函数接口定义: int fib( int n ); void PrintFN( int m, int n ); 其中函数fib须返回第n项Fibonac...

qq_45851946的博客 2690

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

c语言求fibonacci数列前20,求fibonacci数列的前20个数之和

使用数组求Fibonacci数列的前20项.要求4项一行输出.斐波那契数列通项公式:斐波那契数列指的是这样一个数列:1、1、2、3、5、8、13、21、……这个数列从第三项开始,每一项都等于前两项之和.#includeintmain(){inta[20]={1,用C语言数组编写一个程序实现求Fibonacci数列的前n个数.什么时候要?再问:呵呵,什么时候这个小问题解决了就不要了啊!·~~~~~~...

weixin_39897505的博客 1万+

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

Fibonacci数

Fibonacci数 描述 无穷数列1,1,2,3,5,8,13,21,34,55...称为Fibonacci数列,它可以递归地定义为 F(n)=1 ...........(n=1或n=2) F(n)=F(n-1)+F(n-2).....(n>2) 现要你来求第n个斐波纳奇数。(第1个、第二个都为1) 输入 第一行是一个整...

1万+

Fibonacci查找

Fibonacci查找是二分查找的一个变体。 原本的二分查找是取中间一个元素进行比较,而Fibonacci查找是找黄金分割点处的元素进行比较。 为什么是黄金分割点处的呢,我们可以先写出一段Fibonacci数列看看: f1=1,f2=1,f3=2,f4=3,f5=5,f6=8,f7=13,f8=21f_1=1,f_2=1,f_3=2,f_4=3,f_5=5,f_6=8,f_7=13,f_8=21f1​=1,f2​=1,f3​=2,f4​=3,f5​=5,f6​=8,f7​=13,f8​=21 可以发现前一项

qq_40772639的博客 285

Fibonacci base

而且,对于每个正整数,存在若干个不同的集合,每个集合由 Fibonacci 数列中的数字组成,集合中的数字的和等于该正整数。例如:13 可以表示为集合 {13},{5, 8} 或 {2, 3, 8} 中数字的和,17 可以表示为集合 {1, 3, 13} 或 {1, 3, 5, 8} 中的数字的和。例如,数列中的第 2 个数字是 1(1=1+0),第 3 个数字是 2(2=1+1),第 4 个数字是 3(3=2+1),依此类推。给出一个正整数的集合,请您将这些数表示成 Fibonacci 二进制数。

m0_74282945的博客 631
上一篇: 线段树模板
下一篇: KMP
☞十一
博客等级 码龄9年 8粉丝 57原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值