Cod sursa(job #904248)
| Utilizator | Data | 3 martie 2013 23:03:59 | |
|---|---|---|---|
| Problema | Ridicare la putere in timp logaritmic | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.44 kb |
#include <stdio.h>
FILE *f,*s;
long long int a,b;
long long int Modulo(long long int a, long long int b)
{
long long int c=1999999973;
long long int r=1;
while(b!=0)
{
if(b%2==1)
r=(r*a)%c;
a=(a*a)%c;
b/=2;
}
return r;
}
int main()
{
f=fopen("lgput.in","r");
s=fopen("lgput.out","w");
fscanf(f,"%lld %lld",&a,&b);
fprintf(s,"%lld",Modulo(a,b));
fclose(s);
return 0;
}