Sa se calculeze n la puterea k modul p. n,k,p<= 1.000.000.000.

Răspuns :

#include <iostream>
using namespace std;
int main()
{
  long long int n,k,p,m,sol=1;
  cin>>n>>k>>p;
   m=n;
  for(int i=0;(1<<i)<=k;i++)
  {
     if((1<<i)&k)
         sol=(sol*m)%p;
      m=(m*m)%p;
  }
    cout<<sol;
return 0;
}