Cod sursa(job #1301522)

Utilizator japjappedulapPotra Vlad japjappedulap Data 26 decembrie 2014 01:10:45
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.5 kb
#include <fstream>
using namespace std;
#define MOD 1999999973
 
ifstream is ("lgput.in");
ofstream os ("lgput.out");
 
long long x, n, p;

long long Lpow(long long x, long long y)
{
    if (y == 0) return 1;
    if (y == 1) return x;
    if (y % 2 == 0)
        return Lpow((1LL*x*x) % MOD, y / 2) % MOD;
    if (y % 2 == 1)
        return (1LL*x*Lpow((1LL*x*x) % MOD, y / 2)) % MOD;
};
 
int main()
{
    is >> n >> p;
    os << Lpow(n, p);
    is.close();
    os.close();
    return 0;
}