Cod sursa(job #2262707)

Utilizator mihaicivMihai Vlad mihaiciv Data 17 octombrie 2018 19:09:35
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.62 kb
#include <iostream>
#include <fstream>
#define MOD 1999999973
using namespace std;

ifstream f("lgput.in");
ofstream g("lgput.out");

long long int putere(int exp, int pt) {
    if (pt == 0) {
        return 1;
    } else {
        if (pt % 2 == 0) {

            long long int ans = putere(exp, pt / 2 ) % MOD;
            return ( (ans * ans)  % MOD );

        } else {
            long long int ans = putere(exp, pt - 1) % MOD;
            ans = (ans * exp) % MOD;
            return ans;
        }
    }
}

int main() {

    int n, p;

    f >> n >> p;

    g << putere(n, p);

    return 0;
}