Cod sursa(job #2587458)

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

using namespace std;
ifstream fin("lgput.in");
ofstream fout("lgput.out");
long long int n, p, x, v[100001], i, nr;
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;
        }
    }
    fout<<x%1999999973;

    return 0;
}