Cod sursa(job #1735423)
Utilizator | Data | 29 iulie 2016 20:08:07 | |
---|---|---|---|
Problema | Ridicare la putere in timp logaritmic | Scor | 30 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.43 kb |
#include <iostream>
#include <fstream>
using namespace std;
long long mod=1999999973;
long long power(long long n,long long p) {
long long half,x=x;
if (p==0 || n==0)
return 1;
if (p%2==0) {
half=power(n,p/2);
return (half*half)%mod;
}
else {
half=power(n,(p-1)/2);
return (n*half*half)%mod;
}
}
int main() {
long long n,p;
ifstream in("lgput.in");
ofstream out("lgput.out");
in>>n>>p;
out<<power(n,p);
}