Cod sursa(job #577562)
| Utilizator | Data | 10 aprilie 2011 13:28:20 | |
|---|---|---|---|
| Problema | Ridicare la putere in timp logaritmic | Scor | 30 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.41 kb |
#include <stdio.h>
#define MOD 1999999973
FILE *f=fopen ("lgput.in", "r");
FILE *g=fopen ("lgput.out", "w");
long long a,b;
long long putere(int a, int b) {
long long x;
if (b==1)
return a;
else
{
x=putere(a,b/2);
if (b%2)
return (x%MOD)*(x%MOD)*(a%MOD);
else
return (x%MOD)*(x%MOD);
}
}
int main() {
fscanf (f, "%lld%lld", &a,&b);
fprintf (g, "%lld", putere(a,b)%MOD);
return 0;
}