poj3641

来源:互联网 发布:网络推广 photoshop 编辑:程序博客网 时间:2024/06/06 05:40
判断是否是伪质数,先判断是不是质数然后判断是否是1⃣️第二个数为基的伪质数
#include <iostream>#include <cstdio>#include <cmath>using namespace std;typedef long long ll;bool is_prime(ll a){for(int i=2;i<=sqrt(a);i++){if(a%i==0)return 0;}return 1;}ll q_mod(ll a,ll p,ll m){ll ans=1;while(p){if(p&1)ans*=a,ans%=m;a*=a;a%=m;p>>=1;}return ans;}int main(){ll a,p;while(scanf("%lld%lld",&a,&p)&&(a||p)){if(is_prime(a))      printf("no\n");else if(q_mod(p,a,a)==p)      printf("yes\n");      else     printf("no\n");}}
0 0
原创粉丝点击