66分求助

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

@[Zhouyuhan_1125](/user/654004) 1. 这道题用递归求解会超时,得用递推或通项公式求解。 1. 要开 $long\;long$ 因为斐波那契数列第 $47$ 项会爆$int$。 3. 建议你在过程中求解(如果开了$long\;long$ 就不用),不要在最后在 $\bmod\ 2^{31}$。 ## 代码 ``` #include<bits/stdc++.h> #define int long long using namespace std; const int N=pow(2,31); int b; int a[1000005]; signed main() { int n; cin>>n; a[1]=1; a[2]=1; for(int i=3; i<=n; i++) { a[i]=(a[i-1]%N+a[i-2]%N)%N; } b=a[n]; cout<<b<<"="; for(int i=2; i*i<=b;i++) { while(b%i==0) { if(i==b) { cout<<i; b/=i; } else { cout<<i<<"*"; b/=i; } } } if(b!=1) { cout<<b; } return 0; } ```
by yhylivedream @ 2023-04-17 20:32:18


~~原来这么简单~~ 蟹蟹
by Zhouyuhan_1125 @ 2023-04-19 18:08:10


|