Cod sursa(job #1489118)

Utilizator teodor_imMitrache Teodor Ionut teodor_im Data 20 septembrie 2015 17:14:40
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.82 kb
// Problema : http://www.infoarena.ro/problema/lgput

#include <fstream>
#define mod 1999999973

using namespace std;

ifstream f ("lgput.in");
ofstream g ("lgput.out");

long long putere(long long x, long long p);


int main()
{
    long long x, p, r;

    f >> x >> p;
    //scanf("%d %d", &x, &p);
    r = putere(x, p);
    //printf("%d", r);
    g << r;
    return 0;
}

long long putere(long long x, long long y){

    if(y==0) return 1;
             long long rezult = putere(x, y/2);
             if(y%2==0) return rezult*rezult%mod;
                        return ((x*rezult)%mod)*rezult%mod;

}
/*
long long putere(long long x, long long p){

    if(p==0) return 1;
        long long aux = putere(x, p/2);
    if(p%2 == 0) return aux*aux%mod;
        return ((x*aux)%mod)*aux%mod;

}
*/