Cod sursa(job #627493)
Utilizator | Mihai Bogdan mihaibogdan10 | Data | 30 octombrie 2011 02:27:35 |
---|---|---|---|
Problema | Ridicare la putere in timp logaritmic | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.44 kb |
#include<cstdio>
using namespace std;
long long rez, n, p;
long long Lgput(long long p){
if (p == 0) return 1;
if (p % 2 == 1) return Lgput (p-1) * n % 1999999973;
else {
long long x = Lgput (p/2) ;
return x * x % 1999999973;
}
}
int main(){
FILE *fin = fopen("lgput.in","r");
FILE *fout = fopen("lgput.out", "w");
fscanf(fin,"%lld %lld", &n, &p);
rez = Lgput(p);
fprintf (fout, "%lld\n", rez);
return 0;
}