Cod sursa(job #2314461)

Utilizator Stefan3002Stefan Stefan3002 Data 8 ianuarie 2019 15:45:41
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.49 kb
#include <iostream>
#include <fstream>
using namespace std;

ifstream intrare("lgput.in");
ofstream iesire("lgput.out");

const int MOD=1999999973;
int ridicare(int N,int P){

    int r=1;
    while(P){
        if(P%2==1){
            r=(1LL*r*N)%MOD;
            P--;
        }
        else{
            P/=2;
            N=(1LL*N*N)%MOD;
        }

    }
    return r;

}

int main()
{
    int N,P;
    intrare>>N>>P;
    iesire<<ridicare(N,P);

    return 0;
}