Cod sursa(job #1183440)

Utilizator abel1090Abel Putovits abel1090 Data 9 mai 2014 08:23:09
Problema Ridicare la putere in timp logaritmic Scor 50
Compilator cpp Status done
Runda Arhiva educationala Marime 0.53 kb
///LGPUT
#include <fstream>
#define MODULO 1999999973
using namespace std;

unsigned long long power(unsigned n, unsigned p) {
    unsigned long long res;
    if(p == 0) return 1;
    else {
        res = power(n, p/2);
        res = res*res;
        if(p%2 != 0) res = res*n;
        return res % MODULO;
    }
}

int main() {
    ifstream fin("lgput.in");
    ofstream fout("lgput.out");

    unsigned long long n;
    unsigned p;
    fin >> n >> p;
    /// % MODULO;
    fout << power(n, p) << '\n';
    return 0;
}