Cod sursa(job #2166685)

Utilizator cristicretancristi cretan cristicretan Data 13 martie 2018 18:24:47
Problema Invers modular Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.53 kb
///invers modular
#include <iostream>
#include <fstream>
#include <algorithm>
#include <cstring>
#define f cin
#define g cout
using namespace std;

long long a, b;

long long ridicareput(long long n, long long p, long long mod)
{
    long long ans = 1;
    while(p)
    {
        if(p%2)
        {
            --p;
            ans = (ans * n) % mod;
        }
        p /= 2;
        n = (n * n) % mod;
    }
    return ans;
}

int main()
{
    f >> a >> b;
    g << ridicareput(a, b - 2, b) % b << '\n';
}