Cod sursa(job #2166687)

Utilizator cristicretancristi cretan cristicretan Data 13 martie 2018 18:25:08
Problema Invers modular Scor 60
Compilator cpp Status done
Runda Arhiva educationala Marime 0.56 kb
///invers modular
#include <iostream>
#include <fstream>
#include <algorithm>
#include <cstring>
using namespace std;

ifstream f("inversmodular.in");
ofstream g("inversmodular.out");

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';
}