2020牛客暑期多校训练营(第四场)

Basic Gcd Problem
思路:答案即为图片说明

#include<iostream>
typedef long long ll;
using namespace std;
const int mod=1e9+7;
int main(){
    int t,c,n;
    scanf("%d",&t);
    while(t--){
        scanf("%d%d",&n,&c);
        ll ans=1;
        for(int i=2;i*i<=n;i++)//筛选出所有素数
            while(n%i==0){
                n/=i;
                ans=ans*c%mod;
            }
        if(n>1)  ans=ans*c%mod;//可能i是n的质因数,但当n不断除以素数,会导致 
                                //i*i>n
        printf("%lld\n",ans);
    }
    return 0;
}
全部评论

相关推荐

07-15 12:24
重庆大学 运营
坏消息:和好工作擦肩而过
给点吧求求了:怎么可能因为差几秒,估计就是简历更好看婉拒了
点赞 评论 收藏
分享
06-11 17:39
门头沟学院 Java
小呆呆的大鼻涕:卧槽,用户彻底怒了
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务