Cod sursa(job #1676318)

Utilizator martonsSoos Marton martons Data 5 aprilie 2016 20:25:38
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.42 kb
#include <fstream>

using namespace std;

int main()
{
    ifstream in("lgput.in");
    ofstream out("lgput.out");

    int n, p;
    in>>n>>p;

    long long r=1;
    long long pwr=n;


    while(p){
        if(p&1){
            r=((r%1999999973)*(pwr%1999999973))%1999999973;
        }
        pwr=((pwr%1999999973)*(pwr%1999999973))%1999999973;
        p>>=1;
    }

    out<<r;
    return 0;
}