Cod sursa(job #925493)

Utilizator alexandrul_21Niculescu Mihai alexandrul_21 Data 24 martie 2013 16:25:53
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.54 kb
#include <iostream>
#include <fstream>
#include <math.h>
using namespace std;
#define MODULO 1999999973
ifstream fin("lgput.in");
ofstream fout("lgput.out");
int B,E;
void Read()
{
    fin>>B>>E;
    fin.close();
}
long long Prod(int a,int b)
{
    return (a*b)%MODULO;
}
long long Fun(int e)
{
    if(e==1)
        return B;
    long long nr;
    nr=Fun(e/2);
    nr=Prod(nr,nr);
    if(e%2==1)
        nr=Prod(nr,B);
    return nr;
}
int main()
{
    Read();
    fout<<Fun(E);
    fout.close();
    return 0;
}