Cod sursa(job #883283)
Utilizator | Data | 19 februarie 2013 21:29:16 | |
---|---|---|---|
Problema | Ridicare la putere in timp logaritmic | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.45 kb |
#include<fstream>
#include<iostream>
using namespace std;
ifstream fin("lgput.in");
ofstream fout("lgput.out");
long long m, n, a = 1;
int main() {
fin >> m >> n;
while(n != 0) {
if(n % 2 != 0) {
a = (a * m) % 1999999973;
n--;
}
else {
m = (m * m) % 1999999973;
n /= 2;
}
}
fout << a;
fin.close();
fout.close();
return 0;
}