Как их найти
Возьмите натуральное число k. Найдите его делители . Найти различные простые факторы каждого делителя . Суммируйте все эти факторы вместе. Если это число (сумма) является делителем k ( если сумма делит k ), то это число k является числом BIU
Примеры
Давайте возьмем число 54
Найти все делители: [1, 2, 3, 6, 9, 18, 27, 54]
Найти отличные простые множители каждого делителя
ПРИМЕЧАНИЕ. Для случая, когда 1
мы берем в качестве отдельного простого множителя1
1 -> 1
2 -> 2
3 -> 3
6 -> 2,3
9 -> 3
18 -> 2,3
27 -> 3
54 -> 2,3
Теперь мы возьмем сумму всех этих простых множителей
1+2+3+2+3+3+2+3+3+2+3=27
27
делит 54 (уходит без остатка)
Таким образом, 54
является номер БСС .
Другой (быстрый) пример для k=55
делителей: [1,5,11,55]
Сумма различных простых факторов: 1+5+11+5+11=33
33
это НЕ делитель 55, поэтому 55
это НЕ номер БСС .
Номера БИУ
Вот первые 20 из них:
1,21,54,290,735,1428,1485,1652,2262,2376,2580,2838,2862,3003,3875,4221,4745, 5525,6750,7050 ...
но этот список можно продолжить, и есть много номеров BIU , которые ждут, чтобы вы их обнаружили!
Соревнование
Принимая во внимание целое число в n>0
качестве ввода , вывода п - й номер БИШС
Тестовые случаи
Вход-> Выход
1->1
2->21
42->23595
100->118300
200->415777
300->800175
Это Codegolf. Самый быстрый ответ в байтах побеждает!
1
это не главное ...Ответы:
Желе ,
1615 байтПопробуйте онлайн!
Woohoo для встроенных (но они таинственно скрываются от меня иногда так -1 байт благодаря @HyperNeutrino )
Как это работает
источник
ÆfQ€
вместоÆFḢ€€
but they mysteriously hide from me sometime
«Jelly - игра в прятки атомов и программистов» - яÆDÆFSSḢ‘ḍ
.05AB1E , 9 байт
Использует кодирование 05AB1E . Попробуйте онлайн!
источник
Mathematica, 85 байт
источник
Шелуха , 13 байт
Попробуйте онлайн!
Explantaion
источник
На самом деле , 16 байтов
Попробуйте онлайн!
Объяснение:
источник
Pyth , 22 байта
Попробуй это здесь!
Это мое первое решение Pyth, которое я начал изучать благодаря рекомендациям некоторых очень добрых пользователей в чате: -) ... У меня ушло около часа на решение.
объяснение
источник
Haskell , 115 байт
Все возможные здесь списки, вероятно, могут быть исправлены, но я не уверен, как это сделать. Предложения по игре в гольф приветствуются! Попробуйте онлайн!
Ungolfing
Этот ответ на самом деле три функции, соединенные вместе.
источник
Japt ,
2221 байтПопробуй это
Я чувствую, что
g
метод функции должен привести к более короткому решению, но я не могу понять, как он работает!объяснение
Неявный ввод целого числа
U
.Начиная с
0
, верните первое число, которое возвращает true, когда передано через следующую функцию, сX
текущим числом.Получить divisors (
â
)X
и передать каждый через функцию.Получите факторы (
k
) текущего элемента и удалите дубликаты (â
).Уменьшите массив путем добавления после того, как сначала сделаете то же самое для каждого подмассива.
Добавьте
1
к результату.Проверьте,
X
делится ли на это число.Инкремент
J
(изначально-1
) по результатам этого теста.Проверьте на равенство с
U
.источник