Cod sursa(job #1934632)

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

ifstream fi ("lgput.in");
ofstream fo ("lgput.out");
int 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;
}