Ihre Aufgabe ist es, zwei ganzzahlige Zahlen anzugeben a
und b
die modulare multiplikative Inverse eines Modulo b zu berechnen, falls es existiert.
Das modulare Inverse von a
modulo b
ist eine c
solche Zahl ac ≡ 1 (mod b)
. Diese Zahl ist b
für jedes Paar von a
und eindeutig modulo b
. Es existiert nur, wenn der größte gemeinsame Teiler von a
und b
ist 1
.
Die Wikipedia-Seite für modulare multiplikative Inverse kann konsultiert werden, wenn Sie weitere Informationen zum Thema benötigen.
Ein- und Ausgang
Die Eingabe erfolgt entweder als zwei Ganzzahlen oder als Liste mit zwei Ganzzahlen. Ihr Programm sollte entweder eine einzelne Zahl, die modulare multiplikative Inverse, die sich im Intervall befindet 0 < c < b
, oder einen Wert ausgeben, der angibt, dass es keine Inverse gibt. Der Wert kann ein beliebiger Wert sein, mit Ausnahme einer Zahl im Bereich (0,b)
, und es kann sich auch um eine Ausnahme handeln. Der Wert sollte jedoch für Fälle gleich sein, in denen es keine Inverse gibt.
0 < a < b
kann angenommen werden
Regeln
- Das Programm sollte irgendwann beendet sein und jeden Testfall in weniger als 60 Sekunden lösen
- Es gelten Standardlücken
Testfälle
Testfälle unten sind im Format angegeben, 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
Wertung
Dies ist Codegolf, daher gewinnt der kürzeste Code für jede Sprache.
Dies und das sind ähnliche Fragen, aber beide fragen nach bestimmten Situationen.