Twoim zadaniem jest podanie dwóch liczb całkowitych ai bobliczenie modularnej multiplikatywnej odwrotności modułu b, jeśli taki istnieje.
Modularna odwrotność amodulo bjest liczbą ctaką, że ac ≡ 1 (mod b). Ten numer jest unikalnym modułem bdla dowolnej pary ai b. Istnieje tylko wtedy, gdy jest największym wspólnym dzielnikiem ai bjest 1.
Strona Wikipedia dla modułowego Liczba odwrotna może być konsultowany, jeśli potrzebujesz więcej informacji na dany temat.
Wejście i wyjście
Dane wejściowe są podawane jako dwie liczby całkowite lub lista dwóch liczb całkowitych. Twój program powinien wypisać albo pojedynczą liczbę, modularną odwrotność multiplikatywną, która znajduje się w przedziale 0 < c < b, lub wartość wskazującą, że nie ma odwrotności. Wartość może być dowolna, z wyjątkiem liczby z zakresu (0,b), i może być również wyjątkiem. Wartość powinna jednak być taka sama dla przypadków, w których nie ma odwrotności.
0 < a < b można założyć
Zasady
- Program powinien zakończyć się w pewnym momencie i powinien rozwiązać każdy przypadek testowy w mniej niż 60 sekund
- Obowiązują standardowe luki
Przypadki testowe
Poniższe przypadki testowe są podane w formacie, 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
Punktacja
To jest kod golfowy, więc wygrywa najkrótszy kod dla każdego języka.
To i to są podobne pytania, ale oba dotyczą konkretnych sytuacji.