Cod sursa(job #2475661)

Utilizator Andrei012Trache Andrei Andrei012 Data 17 octombrie 2019 11:58:53
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.42 kb
#include <fstream>

using namespace std;

ifstream cin("lgput.in");
ofstream cout("lgput.out");

int v[65];
int main()
{
    int n,i,cat,p,j,r;
    cin>>n>>p;
    r=1;
    i=0;
    while(p!=0){
        cat=p/2;
        i++;
        v[i]=p%2;
        p/=2;
    }
    for(j=i;j>=1;j--){
        r=r*r;
        if(v[j]==1)
            r*=n;
        r%=1999999973;
    }
    cout<<r;
    return 0;
}