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