Cod sursa(job #1655512)

Utilizator Vlad_317Vlad Panait Vlad_317 Data 18 martie 2016 01:25:02
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.58 kb
#include <stdio.h>

const long long MOD = 1999999973;

long long exp (long long n, long long p)
{
    if(p == 0)
        return 1;
    if(p == 1)
        return n % MOD;
    long long x = (exp(n, p / 2) % MOD);
    if(p % 2 == 0)
        return (x * x) % MOD;
    else
        return (((x * x) % MOD) * n) % MOD;
}

using namespace std;

int main()
{
    FILE *fin, *fout;

    fin = fopen("lgput.in", "r");
    fout = fopen("lgput.out", "w");

    long long a, b;

    fscanf(fin, "%lld %lld", &a, &b);

    fprintf(fout, "%lld", exp(a, b));

    return 0;
}