Cod sursa(job #679948)
Utilizator | Data | 13 februarie 2012 21:10:32 | |
---|---|---|---|
Problema | Ridicare la putere in timp logaritmic | Scor | 10 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.35 kb |
#include<iostream>
#include<cstdio>
int x=1,a,b;
void lgput(int a,int 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;
}