Cod sursa(job #3298518)
Utilizator | Data | 30 mai 2025 19:40:05 | |
---|---|---|---|
Problema | Ridicare la putere in timp logaritmic | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.5 kb |
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("lgput.in");
ofstream fout("lgput.out");
long long constanta=1999999973;
long long ridicare_log(long long N,long long P)
{
if(P==0) return 1;
long long rez=ridicare_log(N,P/2);
rez=(rez*rez)%constanta;
if(P%2==1) rez=(rez*N)%constanta;
return rez;
}
int main()
{ long long N,P;
fin>>N>>P;
long long rez=ridicare_log(N,P);
fout<<rez<<endl;
fin.close();
fout.close();
return 0;
}