欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

牛客(多校4):Basic Gcd Problem

程序员文章站 2022-03-04 09:14:02
#include using namespace std; const int N=1e6+10; const long long mod=1e9+7; long long t,c,n; int CS[N]; long long f(long long a, long long b){ long long BS = a; long long CS=1; while(b.....

牛客(多校4):Basic Gcd Problem
牛客(多校4):Basic Gcd Problem

#include <bits/stdc++.h>
using namespace std;
 

    const int N=1e6+10;
    const long long mod=1e9+7;
    long long t,c,n;
    int CS[N];
    long long f(long long a, long long b){
        long long BS = a;
        long long CS=1;
        while(b){
            if(b&1)CS=CS*BS%mod;
            BS=BS*BS%mod;
            b >>= 1;}
    CS %= mod;
    return CS;
     
}
int main(){
    ios::sync_with_stdio(false);
    cin.tie(0); cout.tie(0);
    for(int i=2;i<N;i++){
        CS[i] = max(CS[i], 1);
        for (int j=i+i;j<N;j+=i){
            CS[j] = max(CS[j], CS[i] + 1);
        }
    }
    cin>> t;
while(t-- ){
    long long ans=0;
    cin>>n>>c;
    ans = f(c, CS[n]) % mod;
    cout << ans << "\n";   
    }
    return 0;
}

知识点:GCD

本文地址:https://blog.csdn.net/qq_46144237/article/details/107477970

相关标签: ACM