Cod sursa(job #1040706)

Utilizator Iustin_BulimarFMI Iustin Bulimar Iustin_Bulimar Data 24 noiembrie 2013 20:24:47
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");

const int x=1999999973;
long long n, p;

long long power(long long n, long long p)
{
    long long a=1;
    while(p>0)
    {
        if(p&1)
        {
            a=a*n%x;
            p--;
        }
        n=n*n%x;
        p>>=1;
    }
    return a;
}
int main()
{
    cin>>n>>p;
    cout<<power(n, p);
}