首页 > 代码库 > P2626 斐波那契数列(升级版)
P2626 斐波那契数列(升级版)
题目背景
大家都知道,斐波那契数列是满足如下性质的一个数列: • 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<iostream> 2 using namespace std; 3 int a[1001]; 4 int main() 5 { 6 int n; 7 cin>>n; 8 int ans=0; 9 a[1]=1;10 a[2]=1;11 for(int i=3;i<=n;i++)12 {13 a[i]=a[i-1]+a[i-2];14 }15 ans=a[n];16 cout<<ans<<"=";17 int j=2;18 int flag=0;19 20 while(ans!=1)21 {22 while(ans%j==0)23 {24 if(flag==0)25 {26 cout<<j;27 flag=1;28 }29 else30 {31 cout<<"*"<<j;32 }33 ans=ans/j;34 }35 36 j++;37 }38 39 if(flag==0)40 {41 cout<<a[n];42 }43 /*for(int i=3;i<=n;i++)44 {45 int j=2;46 int flag=0;47 while(j*j<a[i])48 {49 while(a[i]>1)50 {51 if(a[i]%j==0)52 {53 cout<<j<<"*";54 a[i]=a[i]/j;55 }56 else57 break;58 }59 j++;60 }61 }62 cout<<ans;63 //cout<<a[n];*/64 return 0;65 }
P2626 斐波那契数列(升级版)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。