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 ;
}

猜你喜欢

转载自www.cnblogs.com/Cantredo/p/9748534.html
今日推荐