Cod sursa(job #656959)
Utilizator | Data | 5 ianuarie 2012 16:03:22 | |
---|---|---|---|
Problema | Ridicare la putere in timp logaritmic | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.49 kb |
#include<fstream>
#define MOD 1999999973
using namespace std;
int pow(long long x, long long p){
long long rez = 1; x %= MOD;
for(; p; p >>= 1) {
if(p & 1) {
rez *= x;
rez %= MOD;
}
x *= x;
x %= MOD;
}
return rez;
}
int main(void){
ifstream fin("lgput.in");
ofstream fout("lgput.out");
long long n,p,k;
fin>>n>>p; fin.close();
k=pow(n,p); fout<<k; fout.close();
return 0;
}