1. 程式人生 > >P2626 斐波那契數列(升級版)————素數,斐波那契數列,分解質因數

P2626 斐波那契數列(升級版)————素數,斐波那契數列,分解質因數

題解:本題主要考查素數,斐波那契數列,分解質因數。先求出斐波那契數列的mod,再分解。
程式碼如下:

#include<iostream>
using namespace std;
long int f[51],mod=2147483648,m;
int n,i,flag=0;
int main()
{
    f[1]=1;f[2]=1;
    cin>>n;
    for(i=3;i<=n;i++)
    f[i]=f[i-1]+f[i-2];
    m=f[n]%mod;
    cout<<m<<"=";
    i=2;
    while(m>1)
    {
     	if(m%i==0)
        {
            if(flag==0)
            {
                flag=1;
                cout<<i;m=m/i;
            }
            else cout<<"*"<<i,m=m/i;
        }
        else i++;
    }
    return 0;
}