Cod sursa(job #819974)
| Utilizator | Data | 19 noiembrie 2012 21:31:25 | |
|---|---|---|---|
| Problema | Ridicare la putere in timp logaritmic | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.41 kb |
#include <fstream>
using namespace std;
long long lgput (long long n, long long p){
long long m=1999999973;
if (p==0) return 1;
if (p==1) return n%m;
if (p%2==0){
long long res=(lgput(n, p/2));
return (res*res)%m;
}
return (lgput (n, p-1)*n)%m;
}
int main (){
ifstream f("lgput.in");
ofstream g("lgput.out");
long long p, n;
f>>n>>p;
g<<lgput (n, p);
return 0;
}
