Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<bits/stdc++.h>
- using namespace std;
- bool isprime(long long int n)
- {
- for(int i=2;i*i<=n;i++)
- {
- if(n%i==0)
- return false;
- }
- return true;
- }
- long long int bigmod(long long int a,long long int p,long long int x)
- {
- if(p==0)
- return 1;
- else if(p%2==1)
- {
- long long int p1=a%x;
- long long int p2=bigmod(a,p-1,x)%x;
- return (p1*p2)%x;
- }
- else if(p%2==0)
- {
- long long int p1=bigmod(a,p/2,x)%x;
- return (p1*p1)%x;
- }
- }
- int main()
- {
- long long int p,a,i,j,k;
- while(cin>>p>>a && p)
- {
- bool c=isprime(p);
- long long int b=bigmod(a,p,p);
- if(c==true || b!=a)
- cout<<"no"<<endl;
- else
- cout<<"yes"<<endl;
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement