Pagini recente » Borderou de evaluare (job #3118521) | Borderou de evaluare (job #1164279) | Borderou de evaluare (job #3033431) | Diferente pentru problema/algoritm intre reviziile 6 si 7 | Cod sursa (job #1008745)
#include <iostream>
#include <fstream>
#define modulo 1999999973
#define unint unsigned int
using namespace std;
ifstream in("lgput.in");
ofstream out("lgput.out");
unsigned int n,p;
int putere(unint baza, unint exp){
if (exp==1) return n;
else {
int half=putere(n, int(exp/2));
if (exp % 2 == 0) return (half*half)%modulo;
else return (half*half*baza)%modulo;
}
}
int main(){
in >> n >> p;
out << putere(n, p) << "\n";
return 0;
}