Cod sursa(job #3239007)
| Utilizator | Data | 1 august 2024 12:14:37 | |
|---|---|---|---|
| Problema | Ridicare la putere in timp logaritmic | Scor | 20 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.5 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;
}
