Cod sursa(job #305055)
Utilizator | Data | 16 aprilie 2009 01:24:36 | |
---|---|---|---|
Problema | Ridicare la putere in timp logaritmic | Scor | 100 |
Compilator | c | Status | done |
Runda | Arhiva educationala | Marime | 0.38 kb |
#include <stdio.h>
#include <stdlib.h>
int main()
{
freopen("lgput.in","r",stdin);
freopen("lgput.out","w",stdout);
int a,y;
long long x,rez=1ll,MOD=1999999973ll;
scanf("%d %d",&a, &y);
x=a;
for (;y>0;y>>=1)
{
if (y&1) rez=(rez*x)%MOD;
x=(x*x)%MOD;
}
printf("%lld\n",rez);
fclose(stdout);
return 0;
}