Cod sursa(job #1934636)

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

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

int putere (int a, int 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;
}