Cod sursa(job #3239008)
| Utilizator | Data | 1 august 2024 12:15:31 | |
|---|---|---|---|
| Problema | Ridicare la putere in timp logaritmic | Scor | 50 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.51 kb |
#include <iostream>
#include <fstream>
unsigned long long hatvany(unsigned int a, unsigned int b){
/*if(b == 0)
return 1;*/
if(b == 1)
return a;
/*if(b == 2)
return a*a;*/
unsigned long long kov = hatvany(a, b/2) % 1999999973;
if(b % 2 == 0)
return kov * kov % 1999999973;
else
return kov * kov * a % 1999999973;
}
int main(){
unsigned int n, p;
std::ifstream bem("lgput.in");
bem >> n >> p;
bem.close();
std::ofstream kim("lgput.out");
kim << hatvany(n, p) << "\n";
kim.close();
return 0;
}
