Даны целые положительные числа A и B , возвращает позицию р , что сводит к минимуму число простых факторов ( с учетом кратности) в результате целого числа, когда B будет вставлен в А на р .
Например, учитывая A = 1234 и B = 32 , это возможные вставки (с p -индексированным 0) и соответствующая информация об их простых множителях:
р | Результат | Основные факторы | Ω (N) / количество 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
Вы можете видеть, что результат имеет минимальное число простых факторов, 3, когда p равно 1. Поэтому в данном конкретном случае вы должны вывести 1 .
Спекуляции
Если есть несколько позиций p, которые минимизируют результат, вы можете выбрать вывод всех или любой из них.
Вы можете выбрать 0-индексирование или 1-индексирование для p , но этот выбор должен быть последовательным.
A и B могут быть приняты как целые числа, строки или списки цифр.
Вы можете соревноваться на любом языке программирования и можете принимать и выводить данные любым стандартным методом , при этом отмечая, что эти лазейки по умолчанию запрещены. Это код-гольф, поэтому выигрывает самое короткое представление (в байтах)!
Контрольные примеры
A, B -> p (0-индексированный) / p (1-indexed) 1234, 32 -> 1/2 3456, 3 -> 4/5 378, 1824 -> 0/1 1824, 378 -> 4/5 67, 267 -> Любой или все среди: [1, 2] / [2, 3] 435, 1 -> Любой или все среди: [1, 2, 3] / [2, 3, 4] 378100, 1878980901 -> Любой или все среди: [5, 6] / [6, 7]
Для удобства вот список кортежей, представляющих каждую пару входов:
[(1234, 32), (3456, 3), (378, 1824), (1824, 378), (67, 267), (435, 1), (378100, 1878980901)]
132234
вместо 1
.