Cod sursa(job #818766)

Utilizator doomaSalagean Calin dooma Data 17 noiembrie 2012 23:05:36
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.46 kb
#include<fstream>
using namespace std;
// declarations
#define MODUL 1999999973
typedef unsigned int intPoz;

intPoz logPow(intPoz n, intPoz p){
    intPoz temp;
    if(!p) return 1;
    if(p%2) return (n*logPow(n,p-1))%MODUL;
    temp = logPow(n,p/2)%MODUL;
    return temp*temp%MODUL;
}
int main()
{
    intPoz N,P;
    ifstream fin("lgput.in");
    ofstream fout("lgput.out");
    fin >> N >> P;
    fout << logPow(N,P);
    fin.close();
    fout.close();
    return 0;
}