Pagini recente » Borderou de evaluare (job #115556) | Borderou de evaluare (job #2326145) | Borderou de evaluare (job #2665567) | Borderou de evaluare (job #1694199) | Cod sursa (job #1753216)
#include <iostream>
using namespace std;
#define module 1999999973
long long lgput (int a , int b){
if(b==0)
return 1;
if(b==1)
return a;
if(b%2==0)
return (lgput(a,b/2)*lgput(a,b/2))%module ;
else
return (lgput(a,b/2)*lgput(a,b/2)*a)%module;
}
long long lgputIterativ(int a , int b){
long long p= 1 ;
while(b!=0){
if (b%2!=0){
p = (p*a)%module;
b--;
}
a = (a*a)%module;
b=b/2;
}
return p ;
}
int main()
{
int a , b ;
cin>>a>>b;
cout<<lgputIterativ(a,b)%module;
return 0;
}