Cod sursa(job #3357558)

Utilizator Palyo_Muset_AndreiPalyo-Muset Andrei Palyo_Muset_Andrei Data 11 iunie 2026 13:38:32
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

long long exp_log_rec(long long x, long long n)
{
    if (n == 0)
        return 1;

    if (n % 2 == 0)
        return exp_log_rec((x * x) % MOD, n / 2) % MOD;

    if (n % 2 == 1)
        return (x * exp_log_rec((x * x) % MOD, n / 2)) % MOD;
}

int main(void)
{
    long long p, n;

    FILE *fr = fopen("lgput.in", "r");
    FILE *fw = fopen("lgput.out", "w");

    fscanf(fr, "%lld %lld", &n, &p);

    fprintf(fw, "%lld", exp_log_rec(n % MOD, p));

    fclose(fr);
    fclose(fw);

    return 0;
}