Cod sursa(job #3299560)

Utilizator VramzVramita Darius Adrian Vramz Data 8 iunie 2025 14:52:02
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator c-64 Status done
Runda Arhiva educationala Marime 0.56 kb
#include <stdio.h>

#define MOD 1999999973
typedef long long ll;

ll lgput(ll a, ll p) {
    ll rez = 1;
    a %= MOD;
    while (p > 0) {
        if (p % 2 == 1) {
            rez = (rez * a) % MOD;
        }
        a = (a * a) % MOD;
        p /= 2;
    }
    return rez;
}

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

    ll N, P;
    fscanf(fin, "%lld %lld", &N, &P);

    ll rezultat = lgput(N, P);
    fprintf(fout, "%lld\n", rezultat);

    fclose(fin);
    fclose(fout);
    return 0;
}