Cod sursa(job #2098953)

Utilizator ElektrykT E S L A P E F E L I E Elektryk Data 3 ianuarie 2018 19:30:52
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 in("lgput.in");
ofstream out("lgput.out");
long long n,p;
long long put(long long n, long long p);
int main()
{
    in>>n>>p;
    long long rez=put(n,p);
    out<<rez;
    return 0;
}
long long put(long long n, long long p)
{
    if (p<=1)
        return n;
    long long rez;
    if(p%2==0)
    {
        rez=put(n,p/2);
        rez=(rez*rez)%MOD;
        return rez;
    }
    else
    {
        rez=(n*put(n,p-1))%MOD;
        return rez;
    }
}