Pagini recente » Cod sursa (job #3139634) | Cod sursa (job #3167736) | Cod sursa (job #2578126) | Cod sursa (job #2664504) | Cod sursa (job #877383)
Cod sursa(job #877383)
#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;
rez *= (x*x)%mod;
}
else
{
rez=(x*y)%mod;
y--;
}
}
return rez;
}
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));
//printf("%ld\n",lgPutRecursive(x,y));
return 0;
}