Cod sursa(job #2315549)

Utilizator SchnitzelMannPavaloiu Gabriel SchnitzelMann Data 10 ianuarie 2019 11:10:23
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.35 kb
#include <bits/stdc++.h>
#define M 1999999973
using namespace std;
ifstream in("lgput.in");
ofstream out("lgput.out");
long long put(long long n, long long p)
{
    if(!p) return 0;
    if(p==1) return n;
    if(p%2) return n*put((n*n)%M,p/2)%M;
    return put((n*n)%M,p/2)%M;
}
int main()	
{
    long long n,p;
    in>>n>>p;
    out<<put(n,p);
    return 0;
}