Cod sursa(job #679954)
Utilizator | Data | 13 februarie 2012 21:19:28 | |
---|---|---|---|
Problema | Ridicare la putere in timp logaritmic | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.37 kb |
#include<iostream>
#include<cstdio>
long long x=1,a,b;
void lgput(long long a,long long b)
{
while(b>0)
if(b%2==1)
{
x=x*a;b--;
x%=1999999973;
}
else
{
a=a*a;a%=1999999973;
b/=2;
}
}
int main()
{
freopen("lgput.in","r",stdin);
freopen("lgput.out","w",stdout);
scanf("%d%d",&a,&b);
lgput(a,b);
printf("%d\n",x%1999999973);
return 0;
}