Cod sursa(job #2587477)

Utilizator nistor_dora_valentinaNistor Dora Valentina nistor_dora_valentina Data 22 martie 2020 18:39:58
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.48 kb
#include <fstream>

using namespace std;
ifstream fin("lgput.in");
ofstream fout("lgput.out");
unsigned long long n, p, x, v[100001], i, nr, r;
int main()
{
    fin>>n>>p;
    x=1;
    while(p!=0)
    {
        nr++;
        v[nr]=p%2;
        p=p/2;

    }
    for(i=nr; i>=1; i--)
    {
        if(v[i]==0)
            x=x*x;
        else
        {
            x=x*x;
            x=x*n;
        }
        r=x%1999999973;
    }
    fout<<r;

    return 0;
}