Cod sursa(job #2374249)

Utilizator deiubejanAndrei Bejan deiubejan Data 7 martie 2019 17:41:02
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.46 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("lgput.in");
ofstream fout("lgput.out");

#define mod 1999999973
#define cin fin
#define cout fout

int ridic_put_log(int n, int put)
{
    int r=1;
    while(put)
    {
        if(put%2)
            r=(1LL*r*n)%mod;
        n=(1LL*n*n)%mod;
        put/=2;
    }

    return r;
}

int n,p;

int main()
{
    cin>>n>>p;
    cout<<ridic_put_log(n,p);

    return 0;
}