Cod sursa(job #1393258)

Utilizator Consti.001FMI Dranca Constantin Consti.001 Data 19 martie 2015 11:23:10
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.5 kb
#include<fstream>
#define MODUS 1999999973
using namespace std;
ifstream f("lgput.in");
ofstream g("lgput.out");
long long n,p,m,i,j;
int ridic(long long n, long long p)
{
    if(p==0) return 1;
    else
        if(p==1) return n%MODUS;
    else
        if(p%2==0)
        return ridic(n,p/2)%MODUS*ridic(n,p/2)%MODUS;
        else
        if(p%2!=0)
        return ridic(n,(p-1)/2)%MODUS*ridic(n,(p-1)/2)%MODUS*n%MODUS;
}
int main()
{
    f>>n>>p;
        g<<ridic(n,p);
        return 0;
}