Cod sursa(job #1774478)

Utilizator elffikkVasile Ermicioi elffikk Data 8 octombrie 2016 23:55:04
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.48 kb
#include <iostream>
#include <fstream>
using namespace std;

long long putere(unsigned int a, unsigned int p) {
    if (p < 1) {
        return 1;
    }
    long long r = 1;
    if (p%2==1) {
        r = putere(a, p-1);
        r = r * a;
    } else {
        r = putere(a, p/2);
        r = r*r;
    }
    return  r % 1999999973;
}

int main() {
    ifstream cin("lgput.in");
    ofstream cout("lgput.out");
    long long n, p;
    cin>>n>>p;
    cout<<putere(n, p);
}