Cod sursa(job #2047012)
Utilizator | Data | 24 octombrie 2017 14:19:24 | |
---|---|---|---|
Problema | Ridicare la putere in timp logaritmic | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.35 kb |
#include <fstream>
#define MOD 1999999973
using namespace std;
unsigned long long n, p, a, sol = 1;
ifstream f ("lgput.in");
ofstream g ("lgput.out");
int main(){
f >> n >> p;
a = n;
for(int i = 0; (1<<i) <= p; ++i){
if((1<<i) & p) sol = (sol * a) % MOD;
a = (a * a) % MOD;
}
g << sol % MOD << '\n';
}