Cod sursa(job #1490442)

Utilizator dorin31Geman Dorin Andrei dorin31 Data 23 septembrie 2015 16:15:15
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.36 kb
#include <fstream>

using namespace std;

int mod = 1999999973;

ifstream fin("lgput.in");
ofstream fout("lgput.out");

int main()
{
    int n, p;
    fin>>n>>p;

    long long a, sol=1;
    a=n;

    for (int i=0; (1<<i)<=p; ++i)
    {
        if (((1<<i)&p)) sol=(sol*a)%mod;
        a = (a*a)%mod;
    }

    fout<<sol;
    return 0;
}