Cod sursa(job #2909664)
Utilizator | Data | 14 iunie 2022 16:19:24 | |
---|---|---|---|
Problema | Ridicare la putere in timp logaritmic | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.39 kb |
#include <bits/stdc++.h>
#define mod 1999999973
using namespace std;
ifstream fin("lgput.in");
ofstream fout("lgput.out");
int main()
{
unsigned long long int N, P;
fin >> N >> P;
unsigned long long int a=N, b, produs=1;
while (P>0){
b = P % 2;
if (b == 1) produs=(produs*a)%mod;
a=(a*a)%mod;
P/=2;
}
fout << produs;
return 0;
}