Cod sursa(job #1551347)

Utilizator Vali_DeaconuVali Deaconu Vali_Deaconu Data 15 decembrie 2015 19:04:34
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;
ifstream fin ("lgput.in");
ofstream fout ("lgput.out");
const long long MODULO = 1999999973;
long long a;
int n;
long long power (long long a, int n) {
    if (n == 0) return 1;
    if (n == 1) return a;
    if (n % 2 == 1) return (a * power (a, n-1)) % MODULO;
    else {
        a = power (a, n/2);
        return (a * a) % MODULO;
    }
}
int main() {
    fin >> a >> n;
    fout << power (a, n);

    fin.close();
    fout.close();
    return 0;
}