Cod sursa(job #3136176)

Utilizator gal1l30Cristea Darius-Luca gal1l30 Data 5 iunie 2023 16:27:25
Problema Ridicare la putere in timp logaritmic Scor 0
Compilator c-64 Status done
Runda Arhiva educationala Marime 0.46 kb
#include <stdio.h>

#define CONSTANT 1999999973

int LogNPower(int N, int P) {
    if(P == 0) {
        return 1;
    }

    if(P % 2 == 0) {
        return LogNPower(N * N, P / 2);
    } else {
        return N * LogNPower(N * N, (P - 1) / 2);
    }
}

int main() {
    int N, P;

    freopen("lgput.in","r",stdin);
    freopen("lgput.out","w",stdout);

    scanf("%d %d", &N, &P);
    printf("%d %d\n", N, P);

    printf("%d", LogNPower(N, P) % CONSTANT);

    return 0;
}