Cod sursa(job #3298905)
Utilizator | Data | 2 iunie 2025 23:27:19 | |
---|---|---|---|
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");
int functie_putere(int N,int P)
{
int resultat=1;
while(P!=0)
{
if (P%2!=0)
resultat=(1LL*resultat*N)%1999999973;
N=(1LL*N*N)%1999999973;
P=P/2;
}
return resultat;
}
int main()
{
int N,P,i,resultat=1;
fin>>N>>P;
fout<<functie_putere(N,P);
fin.close();
fout.close();
return 0;
}