首页 > 代码库 > 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
代码不在这QAQ
#include<iostream>#include<cstdio>#include<cmath>#define mod 2147483648using namespace std;int n;int main(){ cin>>n; double x=sqrt(5.0); long long int ans; ans=(1.0/x)*(pow((1+x)/2.0,n)-pow((1-x)/2.0,n)); ans%=mod; cout<<ans<<"="; long long int i=2; while(ans!=1) { while(ans%i==0) { if(ans/i!=1) { ans/=i; cout<<i<<"*"; } else{ ans/=i; cout<<i; return 0; } } if(ans%i!=0) i++; } return 0;}
P2626 斐波那契数列(升级版)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。