Cod sursa(job #2373036)

Utilizator AlexTudorAlex Brinza AlexTudor Data 7 martie 2019 11:55:16
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.61 kb
#include <bits/stdc++.h>
using namespace std;

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

const unsigned long long MOD=1999999973;

unsigned long long a,b,nr;

unsigned long long put (unsigned long long a , unsigned long long b)
{
    if(b==1) return a;

    if(b%2==0)
    {
        unsigned long long p=put(a,b/2);

        p=(p*p) % MOD;

        return p;
    }

    else
    {
        unsigned long long p=put(a,b/2);

        p=(p*p) % MOD;

        p=(p*a) % MOD;

        return p;
    }

}


int main()
{
    fin>>a>>b;

    fout<<put(a,b);
    return 0;
}