Cod sursa(job #2296376)

Utilizator DanBarbilianMuresan Dan Adrian DanBarbilian Data 4 decembrie 2018 17:17:49
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.44 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin ("lgput.in");
ofstream fout ("lgput.out");
long long a, b;

int f(long long a, long long b)
{
    long long rez = 1;
    for(int p = 1; p <= b; p *= 2)
    {
        if( ( p&b ) >0)
        {
            rez = (rez * a) % 1999999973;
        }
        a = (a*a) % 1999999973;
    }
    return rez;
}

 int main()
{
    fin>> a >> b;
    fout<<f(a, b);
}