Cod sursa(job #1761691)

Utilizator infomaxInfomax infomax Data 22 septembrie 2016 18:34:10
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.56 kb
#include <fstream>

using namespace std;

ifstream F ("lgput.in");
ofstream G ("lgput.out");

long long rezultat(long long n,long long p)
{
    if (p <= 1)
        return(n);

    long long rez;
    if (p % 2 == 0)
       {
           rez = rezultat(n, p / 2);
           rez = (rez * rez) % 1999999973;
           return rez;
       }
       else
       {
           rez = (n * rezultat(n, p - 1)) % 1999999973;
           return rez;
       }
}

int main()
{
    long long n, p;
    F >> n >> p;
    G << rezultat(n, p);
    return 0;
}