Cod sursa(job #3298160)

Utilizator SerbanBobDubei Serban Vlad SerbanBob Data 27 mai 2025 16:26:32
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator c-64 Status done
Runda Arhiva educationala Marime 0.46 kb
#include <stdio.h>

#define MOD 1999999973
#define ull unsigned long long

ull test(ull N, ull P) {
    if (P == 0)
        return 1;

    if (P % 2)
        return N * test((N * N) % MOD, (P - 1) / 2) % MOD;

    return test((N * N) % MOD, P / 2) % MOD;
}

int main() {
    FILE *input = fopen("lgput.in", "r");
    FILE *output = fopen("lgput.out", "w");

    ull N, P;
    fscanf(input, "%d %d", &N, &P);

    fprintf(output, "%d", test(N, P));
 }