Cod sursa(job #3187599)

Utilizator not_anduAndu Scheusan not_andu Data 29 decembrie 2023 17:34:56
Problema Invers modular Scor 60
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.74 kb
/**
 * Author: Andu Scheusan (not_andu)
 * Created: 29.12.2023 17:32:45
*/

#include <bits/stdc++.h>
#pragma GCC optimize("O3")

using namespace std;

#define INFILE "inversmodular.in"
#define OUTFILE "inversmodular.out"

typedef long long ll;

ll binPow(ll number, ll exponent, ll MOD){
    ll ans = 1;
    while(exponent){
        if(exponent & 1) ans = (ans * number) % MOD;
        number = (number * number) % MOD;
        exponent >>= 1;
    }
    return ans;
}

void solve(){

    ll a, n; cin >> a >> n;
    
    cout << binPow(a, n - 2, n) << '\n';

}

int main(){
    
    ios_base::sync_with_stdio(false);

    freopen(INFILE, "r", stdin);
    freopen(OUTFILE, "w", stdout);

    cin.tie(nullptr);
    cout.tie(nullptr);

    solve();

    return 0;
}