这道题
比较有意思的点
是 取余 和 分解质因数
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;
}