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

来源:互联网 发布:epson机器人编程 编辑:程序博客网 时间:2024/06/06 08:42

这道题

比较有意思的点

是 取余 和 分解质因数


2的31次方刚好爆int 

用long long

#include <iostream>using namespace std;long long a[55];int main(){    long long e=2147483648;    a[1]=1;a[2]=1;    for(int i=3;i<50;i++)    {        a[i]=(a[i-1]+a[i-2])%e;//取余    }    int n;    cin>>n;    cout<<a[n]<<'=';    int i;    for(int i=2;i<=a[n];i++)    {        while(a[n]!=i)        {            if(a[n]%i==0)//分解质因数            {                cout<<i<<'*';//整除则为因数 输出                a[n]/=i;            }            else break;        }    }    cout<<a[n]<<endl;//输出最后一位    return 0;}