Cod sursa(job #3175295)

Utilizator BucsMateMate Bucs BucsMate Data 25 noiembrie 2023 16:43:23
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.62 kb
#include <iostream>
#include <fstream>

using namespace std;


int main()
{
    ifstream input("lgput.in");
    ofstream output("lgput.out");
    long long N, P, maradek1=1, maradek2, oszto = 1999999973, jelenlegi_kitevo = 0, i;
    input >> N >> P;
    while(jelenlegi_kitevo < P){
        maradek2 = N;
        for(i = 1; 2*i <= P-jelenlegi_kitevo; i = 2*i){
            maradek2 = ((maradek2 % oszto) * (maradek2 % oszto)) % oszto;
        }
        maradek1 = ((maradek1 % oszto) * (maradek2 % oszto)) % oszto;
        jelenlegi_kitevo = jelenlegi_kitevo + i;
    }
    output << maradek1;
    return 0;
}