Cod sursa(job #2249271)

Utilizator Victoras2006Nicola Victor Teodor Victoras2006 Data 29 septembrie 2018 14:56:55
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.48 kb
#include <bits/stdc++.h>
#define BOSCHET 1999999973

using namespace std;

int main() {
    long long a, b, p;
    ifstream fin( "lgput.in" );
    fin >> a >> b;
    fin.close();

    p = 1;
    while ( b ) {
        p %= BOSCHET;
        if ( b % 2 == 1 )
            p = ( ( p % BOSCHET ) * ( a % BOSCHET ) ) % BOSCHET;
        a = ( ( a % BOSCHET ) * ( a % BOSCHET ) ) % BOSCHET;
        b /= 2;
    }

    ofstream fout( "lgput.out" );
    fout << p;
    fout.close();
    return 0;
}