Cod sursa(job #1487883)

Utilizator Florentin122Pletea Florentin Iulian Florentin122 Data 17 septembrie 2015 16:06:14
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.53 kb
#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 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;

}