首页 > 代码库 > P2626 斐波那契数列(升级版) 洛谷(2626)

P2626 斐波那契数列(升级版) 洛谷(2626)

https://www.luogu.org/problem/show?pid=2626

题目背景

大家都知道,斐波那契数列是满足如下性质的一个数列: • f(1) = 1 • f(2) = 1 • f(n) = f(n-1) + f(n-2) (n ≥ 2 且 n 为整数)。

题目描述

请你求出第n个斐波那契数列的数mod(或%)2^31之后的值。并把它分解质因数。

输入输出格式

输入格式:

 

n

 

输出格式:

 

把第n个斐波那契数列的数分解质因数。

 

输入输出样例

输入样例#1:
5
输出样例#1:
5=5
输入样例#2:
6
输出样例#2:
8=2*2*2

说明

n<=48

 

 1 #include <algorithm> 2 #include <iostream> 3 #include <cmath> 4  5 const long long mod=pow(2,31); 6  7 using namespace std; 8  9 long long x,num=2,cnt,n;10 11 int main()12 {13     cin>>n;14     double x=sqrt(5.0);15     cnt=1/x*((pow((1+x)/2,n)-(pow((1-x)/2,n))));16     cnt%=mod;17     long long zz=cnt;18     cout<<cnt<<=;19     while(cnt!=1)20     {21         while(cnt%num==0)22         {23             if(cnt<zz) cout<<*<<num;24             else     cout<<num;25             cnt/=num;26         }27         num++;28     }29     return 0;30 }

 

P2626 斐波那契数列(升级版) 洛谷(2626)