Cod sursa(job #1906908)

Utilizator KanghuAndre Popescu Kanghu Data 6 martie 2017 16:54:59
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.51 kb
#include <iostream>
#include <fstream>

using namespace std;

const int mod = 1999999973;

int main()
{
    ifstream i("lgput.in");
    ofstream o("lgput.out");

    unsigned long long n, p, x = 1;

    i >> n >> p;

    while(p)
    {

        if(p == 1)
        {
            o << (x * n) % mod;
            return 0;
        }

        if(p % 2)
        {
            x = (x * n) % mod;
        }

        p /= 2;
        n = (n * n) % mod;
    }

    cout << n;

    return 0;
}