Pagini recente » Cod sursa (job #288327) | Cod sursa (job #1541639) | Cod sursa (job #80533) | Cod sursa (job #3150636) | Cod sursa (job #877396)
Cod sursa(job #877396)
#include <cstdio>
#define mod 1999999973
using namespace std;
long long lgPut(long long x,long long y)
{
long long rez = 1;
while(y!=1)
{
if(y%2 == 0)
{
y/=2;
x = (x*x)%mod;
}
else
{
rez=(rez*x)%mod;
y--;
}
}
return rez*x%mod;
}
long long lgPutRecursive(long long x, long long y)
{
if(y == 1)
return x;
if(y%2==0)
{long long rez = lgPutRecursive(x,y/2)%mod;
return (rez*rez)%mod;
}
else
return x*lgPutRecursive(x,y-1)%mod;
}
int main()
{
freopen("lgput.in","r",stdin);
freopen("lgput.out","w",stdout);
int x,y;
scanf("%ld %ld",&x,&y);
printf("%ld\n",lgPut(x,y)%mod);
//printf("%ld\n",lgPutRecursive(x,y));
return 0;
}