Cod sursa(job #1098290)

Utilizator StexanIarca Stefan Stexan Data 4 februarie 2014 18:22:01
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.48 kb
#include <fstream>
using namespace std;

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

const int MOD = 1999999973;
long long N,P,Solution=1;

void Read(){
    f>>N>>P;
}
void RidicareLaPutereInTimpLogaritmic(){
    while (P) {
        if (P%2 == 1) {
            Solution = (Solution * N) % MOD;
        }
        N =(N * N) % MOD;
        P = P/2;
    }
}
void Write(){
    g<<Solution;
}

int main()
{
    Read();
    RidicareLaPutereInTimpLogaritmic();
    Write();

    return 0;
}