Cod sursa(job #1378530)

Utilizator cristina_borzaCristina Borza cristina_borza Data 6 martie 2015 12:47:29
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.49 kb
#include <fstream>
#define MOD 1999999973
using namespace std;
ifstream f("lgput.in");
ofstream g("lgput.out");
long long putere(int p);
int n,p;
int main()
{
    f>>n>>p;
    g<<putere(p);
    return 0;
}

long long putere(int p)
{
    long long aux;
    if(p==0)
    {
        return 1;
    }
    if(p==1)
    {
        return n;
    }
    aux=putere(p/2);
    aux=((long long) aux*aux)%MOD;
    if(p%2==1)
    {
        aux*=n;
    }
    aux%=MOD;
    return aux;
}