Sua tarefa é fornecer dois números inteiros ae bcalcular o inverso multiplicativo modular de um módulo b, se existir.
O inverso modular do amódulo bé um número ctal que ac ≡ 1 (mod b). Este número é um módulo únicob para qualquer par de ae b. Existe apenas se o maior divisor comum de ae bé 1.
A página da Wikipedia para inverso multiplicativo modular pode ser consultada se você precisar de mais informações sobre o tópico.
Entrada e saída
A entrada é fornecida como dois números inteiros ou como uma lista de dois números inteiros. Seu programa deve gerar um único número, o inverso multiplicativo modular que está no intervalo0 < c < b ou um valor indicando que não há inverso. O valor pode ser qualquer coisa, exceto um número no intervalo (0,b), e também pode ser uma exceção. O valor deve, no entanto, ser o mesmo para os casos em que não há inverso.
0 < a < b pode ser assumido
Regras
- O programa deve terminar em algum momento e resolver cada caso de teste em menos de 60 segundos
- Aplicam-se brechas padrão
Casos de teste
Os casos de teste abaixo são fornecidos no formato, a, b -> output
1, 2 -> 1
3, 6 -> Does not exist
7, 87 -> 25
25, 87 -> 7
2, 91 -> 46
13, 91 -> Does not exist
19, 1212393831 -> 701912218
31, 73714876143 -> 45180085378
3, 73714876143 -> Does not exist
Pontuação
Este é o código de golfe, portanto o código mais curto para cada idioma vence.
Este e este são questões semelhantes, mas ambos pedir para situações específicas.