Biorąc pod uwagę dwie dodatnie liczby całkowite A i B , zwróć pozycję p, która minimalizuje liczbę czynników pierwszych (licząc krotność) wynikowej liczby całkowitej, gdy B zostanie wstawione do A w punkcie p .
Na przykład, biorąc pod uwagę A = 1234 i B = 32 , są to możliwe wstawienia (przy czym p ma indeks 0) i odpowiednie informacje o ich czynnikach głównych:
p | Wynik | Czynniki pierwsze | Ω (N) / Count 0 | 321234 | [2, 3, 37, 1447] | 4 1 | 132234 | [2, 3, 22039] | 3) 2 | 123234 | [2, 3, 19, 23, 47] | 5 3 | 123324 | [2, 2, 3, 43, 239] | 5 4 | 123432 | [2, 2, 2, 3, 37, 139] | 6
Widać, że wynik ma minimalną liczbę czynników pierwszych, 3, gdy p wynosi 1. W tym konkretnym przypadku powinieneś otrzymać 1 .
Okular
Jeśli istnieje wiele pozycji p, które minimalizują wynik, możesz wybrać wyjście wszystkich z nich lub dowolnej z nich.
Możesz wybrać indeksowanie 0 lub indeksowanie 1 dla p , ale ten wybór musi być spójny.
A i B mogą być traktowane jako liczby całkowite, ciągi znaków lub listy cyfr.
Możesz konkurować w dowolnym języku programowania i możesz przyjmować dane wejściowe i generować dane wyjściowe za pomocą dowolnej standardowej metody , zwracając uwagę, że te luki są domyślnie zabronione. To jest golf golfowy, więc wygrywa najkrótsze zgłoszenie (w bajtach)!
Przypadki testowe
A, B -> p (indeksowane 0) / p (indeksowane 1) 1234, 32 -> 1/2 3456, 3 -> 4/5 378,1824 -> 0/1 1824, 378 -> 4/5 67, 267 -> Dowolne lub wszystkie spośród: [1, 2] / [2, 3] 435, 1 -> Dowolne lub wszystkie spośród: [1, 2, 3] / [2, 3, 4] 378100, 1878980901 -> Dowolne lub wszystkie spośród: [5, 6] / [6, 7]
Dla wygody oto lista krotek reprezentujących każdą parę danych wejściowych:
[(1234, 32), (3456, 3), (378, 1824), (1824, 378), (67, 267), (435, 1), (378100, 1878980901)]
132234
zamiast 1
.