求调
查看原帖
求调
1726926
wanjinghan楼主2025/8/29 19:57
#include<bits/stdc++.h>
using namespace std;
bool isg1(int p,int g){
    return g>1&&g<p;
}
bool isg2(int p,int g){
    if((p+1)%g==0){
        return true;
    }
    return false;
}
bool isg3(int p,int g){
    for(int i=1;i<p-1;i++){
        if(int(pow(g,i))%p==1){
            return false;
        }
    }
    return true;
}
int main(){
	// freopen ("data.out", "r", stdin);
	// freopen ("file2.out", "w", stdout);
    int t;
    cin>>t;
    for(int i=0;i<t;i++){
        int g,p;
        cin>>g>>p;
        if(isg1(p,g)&&isg2(p,g)&&isg3(p,g)){
            cout<<"Yes"<<endl;
        }
        else{
            cout<<"No"<<endl;
        }
    }
    return 0;
}
2025/8/29 19:57
加载中...