Cod sursa(job #1610027)

Utilizator sorynsooSorin Soo sorynsoo Data 23 februarie 2016 11:04:24
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;
ifstream cin("lgput.in");
ofstream cout("lgput.out");
#define MOD 1999999973

int putere(long long n, long long p)
{
    long long rez = 1 ;
    while(p)
    {
        if(p % 2 == 1)
            rez *= n, rez %= MOD, p--;

        n *= n; n %= MOD;
        p /= 2;
    }
    return rez;
}
int main()
{
    long long n,p;
    cin>>n>>p;
    cout<<putere(n,p);
}