Cod sursa(job #3331471)

Utilizator andrei.cojocarucojocaru andrei victor andrei.cojocaru Data 28 decembrie 2025 14:24:17
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.43 kb
#include <fstream>
using namespace std;
ifstream cin("lgput.in");
ofstream cout("lgput.out");
int main()
{
    unsigned long long int n, p, r=1;
    cin>>n>>p;
    while (p>1){
        if (p%2==0)
        {
            n=n*n;
            n=n%1999999973;
            p=p/2;
        }
        else
        {
            r=r*n%1999999973;
            n=n*n;
            n=n%1999999973;
            p=p/2;
        }
    }
    cout<<r*n%1999999973;
}