Cod sursa(job #2558720)
| Utilizator | Data | 26 februarie 2020 19:19:19 | |
|---|---|---|---|
| Problema | Ridicare la putere in timp logaritmic | Scor | 100 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.53 kb |
#include <bits/stdc++.h>
#define MOD 1999999973
using namespace std;
ifstream fin ("lgput.in");
ofstream fout ("lgput.out");
long long n, p;
int lgput (long long n, long long p){
long long prod = 1;
if (p == 0){
return 1;
}
while (p){
if (p%2 == 1){
prod *= n;
prod = prod%MOD;
}
n *= n;
n = n%MOD;
p /= 2;
}
return prod;
}
int main(){
fin >> n >> p;
fout << lgput (n, p);
return 0;
}
//recapitulare
