Cod sursa(job #3358473)

Utilizator barsescu_andreiBarsescu Andrei Mircea barsescu_andrei Data 16 iunie 2026 22:48:04
Problema Invers modular Scor 60
Compilator c-64 Status done
Runda Arhiva educationala Marime 0.62 kb
#include <stdio.h>

long long exp_by_squaring(long long base, long long exp, long long mod) {
    long long result = 1;
    base %= mod;

    while (exp > 0) {
        if (exp % 2 == 1) {
            result = (result * base) % mod;
        }
        base = (base * base) % mod;
        exp /= 2;
    }
    return result;
}

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

    long long A, N;
    fscanf(fin, "%lld %lld", &A, &N);

    fprintf(fout, "%lld\n", exp_by_squaring(A, N - 2, N));

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