Cod sursa(job #627494)
| Utilizator | Data | 30 octombrie 2011 02:29:03 | |
|---|---|---|---|
| Problema | Ridicare la putere in timp logaritmic | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.46 kb |
#include<cstdio>
int n, p;
long long PutereLog(int n, int p)
{
if(p == 0) return 1;
if(p % 2 != 0) return PutereLog(n, p - 1) * n % 1999999973;
else
{
long long x = PutereLog(n, p / 2);
return x * x % 1999999973;
}
}
int main()
{
FILE * fin = fopen("lgput.in", "r");
FILE * fout = fopen("lgput.out", "w");
fscanf(fin, "%d %d", &n, &p);
fprintf(fout, "%lld\n", PutereLog(n, p));
fclose(fin);
fclose(fout);
return 0;
}
