AC日记——斐波那契数列(升级版) 洛谷 P2626
思路:
水题;
代码:
#include <cmath> #include <cstdio> #include <cstring> #include <iostream> #include <algorithm> using namespace std; #define mod (1LL<<31) long long f[50],ans; int main() { f[1]=1,f[2]=1; for(int i=3;i<=48;i++) f[i]=(f[i-1]+f[i-2])%mod; int n;scanf("%d",&n);int lit=sqrt(f[n]); bool if_=true; for(int i=2;i<=lit;i++) { if(f[n]%i==0) { if_=false; break; } } if(if_) { printf("%d=%d",f[n],f[n]); return 0; } if_=true;int pos=f[n];printf("%d=",pos); for(int i=2;i<=lit;i++) { while(pos%i==0) { if(if_) printf("%d",i),if_=false; else printf("*%d",i); pos/=i; } } if(pos!=1) printf("*%d",pos); return 0; }