Cod sursa(job #2185746)

Utilizator TudorFinaruTudor Cristian Finaru TudorFinaru Data 24 martie 2018 20:31:26
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.54 kb
#include <fstream>
#define MOD 1999999973
using namespace std;
ifstream f("lgput.in");
ofstream g("lgput.out");
unsigned long long a,b;

int Alab(unsigned long long a, unsigned long long b)
{
    if(b==0) return 1;
    else if(b==1) return a;
         else{
            unsigned long long aux;
            aux=Alab(a,b/2);
            if(b&1) return ((((aux*aux)%MOD)*a)%MOD);
            else return((aux*aux)%MOD);
         }
}

int main()
{
    f>>a>>b;
    g<<Alab(a,b)<<'\n';
    f.close();
    g.close();
    return 0;
}