Cod sursa(job #3037985)

Utilizator AnaGrigorieAna Teodora Grigorie AnaGrigorie Data 26 martie 2023 18:44:06
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.56 kb
#include <fstream>

using namespace std;

ifstream fin("lgput.in");
ofstream fout("lgput.out");

long long n,p,exponent[10000000];
int k;
int main()
{
    fin>>n>>p;
    while(p>0)
    {
        exponent[++k]=p;
        if(p%2==0)
        {
            p=p/2;
        }
        else
        {
            p--;
        }
    }
    long long x=n;
    for(int i=k;i>=2;i--)
    {
        if(exponent[i]%2==0)
        {
            n=n*n;
        }
        else
        {
            n=n*x;
        }
    }
    long long procent=n%1999999973;
    fout<<procent;
    return 0;
}