Cod sursa(job #2155184)

Utilizator AndreiBadescuBadescu Andrei-Octavian AndreiBadescu Data 7 martie 2018 17:48:53
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.4 kb
#include <fstream>

typedef unsigned int uint;
using namespace std;

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

const uint mod = 1999999973;
uint n, m, p, sol, a;

int main()
{
    fin >> n >> m;

    p = n, sol = 1;

    for ( uint i = 1; i <= m; i <<= 1 )
    {
        if ( i & m )
            sol *= p, sol %= mod;

        p *= p, p %= mod;
    }

    fout << sol;
}