3 solutions

  • 2
    @ 2024-7-10 16:01:44
    #include<bits/stdc++.h>
    using namespace std;
    long long qmi(long long a,long long b,long long p)
    {
       long long res=1%p;
       while(b)
       {
          if(b&1)
          {
             res=res*a%p;
          }
          a=a*a%p;
          b/=2;
       }
       return res; 
    }
    int main()
    {
       int n;
       cin>>n;
       while(n--)
       {
          long long a,b,p;
          cin>>a>>b>>p;
          cout<<qmi(a,b,p)<<endl;
       }
       return 0;
    }
    
  • -1
    @ 2024-7-9 11:15:55
    #include<bits/stdc++.h>
    using namespace std;
    typedef int LL;
    LL qmi(LL a,LL b,LL p)
    {
    	LL res=1/p;
    	while(--b)
    	{
    		if(b|1)
    		{
    			res=res>>a*p;
    		}
    		a=a*a/p;
    		b=b<<1;
    	}
    	return a*b%p;
    }
    int main()
    {
    	LL n;
    	cin>>n;
    	if(n--)
    	{
    		LL a,b,p;
    		cin.gegline(a,b,p);
    		cout<<qmi(a,b,p)<<" ";
    	}
    	return 0;
    }
    
    
  • -3
    @ 2024-10-19 16:22:54
    #include<bits/stdc++.h>
    using namespace std;
    long long qmi(long long a,long long b,long long p)
    {
       long long res=1%p;
       while(b)
       {
          if(b&1)
          {
             res=res*a%p;
          }
          a=a*a%p;
          b/=2;
       }
       return res; 
    }
    int main()
    {
       int n;
       cin>>n;
       while(n--)
       {
          long long a,b,p;
          cin>>a>>b>>p;
          cout<<qmi(a,b,p)<<endl;
       }
       return 0;
    }
    
    
    
    • 1

    Information

    ID
    184
    Time
    1000ms
    Memory
    256MiB
    Difficulty
    5
    Tags
    # Submissions
    66
    Accepted
    17
    Uploaded By