⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 1905.cpp

📁 杭电 acm部分代码 有兴趣的可以下载 谢谢
💻 CPP
字号:
#include<stdio.h>
#include<math.h>
int prime(__int64 n){
    __int64 t=sqrt(double(n));
    if(n==2)    return 1;
    for(__int64 i=3;i<=t;i+=2)
        if(n%i==0)  return 0;
    return 1;
}
__int64 pow_mod(__int64 a,__int64 p,__int64 n){
    __int64 k=1;
    while(p>1){
        if(p%2==1)  k=a*k%n;
        a=a*a%n;
        p/=2;
    }
    return a*k%n;
}
int main()
{
    __int64 p,a;
    while(scanf("%I64d%I64d",&p,&a)==2){
        if(p==0&&a==0)
            break;
        if(prime(p)==1){
            printf("no\n");
            continue;
        }
        __int64 t=p;
        __int64 x=1,y=a,n=0;
        if(pow_mod(a,p,t)==a)
            printf("yes\n");
        else
            printf("no\n");
    }
    return 0;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -