Cod sursa(job #2782589)

Utilizator dan_paunuldan andrei dan_paunul Data 12 octombrie 2021 19:08:51
Problema Ridicare la putere in timp logaritmic Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.5 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream in("lgput.in");
ofstream out("lgput.out");
int main()
{
    long long n, p, l=1999999973, i;
    in>>n>>p;
    long long nr=1, cn=n, k=1;
    while(p)
    {
        if(p==1)
        {
            cn*=n;
            p--;
            break;
        }
        if(p%2==1 && p!=1)
        {
            p--;
            cn*=n;        }
        cn*=n;
        p/=2;
        cn%=l;
    }
    out<<cn%l;
    return 0;
}