P2626 斐波那契数列(升级版) 洛谷 (质因数分解)
斐波那契数列增加了质因数分解的内容,并不算难…代码如下:
#include <cstdio>
#include <iostream>
#include <algorithm>
#include <string>
#include <cstring>
#include <cmath>
#include <stack>
#include <vector>
#include <map>
#include <set>
#include <queue>
#include <utility>
#define ll long long
#define ull_ unsigned long long
using namespace std ;
const ull_ MOD = 1ull << 31 ; // 2^31
const int MAXN = 50 ;
ull_ f[50] ;
int main(){
int n ;
cin >> n ;
f[1] = f[2] = 1 ;
for ( int i = 3 ; i <= n ; i ++ ){
f[i] = (f[i-1] % MOD + f[i-2] % MOD) % MOD ; //同余模定理
}
bool first = true ;
cout << f[n] << "=" ;
for ( int i = 2 ; i <= f[n] ; i ++ ){
while ( f[n] % i == 0 ){
f[n] /= i ;
if ( first ) {
cout << i ;
first ^= 1 ;
}
else cout << "*" << i ;
}
}
return 0 ;
}