Cod sursa(job #1934638)

Utilizator WebDesignbyTMGhiorghiu Ioan-Viorel WebDesignbyTM Data 21 martie 2017 18:13:18
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.48 kb
#include <fstream>
#define DM 10000
using namespace std;

ifstream fi ("lgput.in");
ofstream fo ("lgput.out");
long long a, n;

long long putere (long long a, long long n)
{
    if (n == 1)
        return a%1999999973;
    if (n == 0)
        return 1%1999999973;
    if (n%2 == 1)
        return (putere (a, n - 1)*a)%1999999973;
    return (putere (a, n/2)*putere(a, n/2))%1999999973;
}

int main ()
{
    fi >> a >> n;
    fo << putere(a, n);
    return 0;
}