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