Cod sursa(job #1185693)

Utilizator Vally77FMI Calinescu Valentin Gelu Vally77 Data 16 mai 2014 13:31:49
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.47 kb
#define MOD 1999999973
#include <iostream>
#include <fstream>
using namespace std;
ifstream ka("lgput.in");
ofstream ki("lgput.out");
int n, p;
unsigned long long putere(int n, int p)
{
    unsigned long long rezultat = 1, a = n;
    for(int i = 0; (1 << i) <= p; i++)
    {
        if((1 << i) & p)
            rezultat = (rezultat * a) % MOD;
        a = (a * a) % MOD;
    }
    return rezultat;
}
int main()
{
    ka >> n >> p;
    ki << putere(n, p);
}