Cod sursa(job #1988933)

Utilizator ANdreeADiana27Alexa Andreea ANdreeADiana27 Data 5 iunie 2017 12:24:45
Problema Ridicare la putere in timp logaritmic Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.56 kb
#include <iostream>
#include <cmath>
#include <fstream>

using namespace std;

ifstream f("lgput.in");
ofstream g("lgput.out");

long long a,b;

long long Exp_Log_Mod(long long a,long long b,long long pr)
{
    long long rez=1;
    while(b)
    {
        if(b%2)
        {
            rez=(rez*a)%pr;
            b--;
        }
        else
        {
            a=(a*a)%pr;
            b/=2;
        }
    }
    return rez;
}

int main()
{
    f>>a>>b;
    cout<<Exp_Log_Mod(a,b,1999999973);
    f.close();
    g.close();
    return 0;
}