Это испытание очень вдохновлено тем, что @Mego создал со своими номерами Holy и Holier , большое спасибо ему и его каламбурам.
Святые числа - это числа, состоящие только из цифр с отверстиями :
04689
Числа с хотя бы одной нечестивой цифрой считаются нечестивыми. Нечестивые цифры по определению являются злом, но близость к святым цифрам помогает им стать нейтральными. Следовательно, чем ближе они, тем менее нечестивым (1, когда смежно).
Нечестивость числа - это сумма нечестивости его цифр, а число, состоящее только из нечестивого числа, имеет бесконечную нечестивость.
Number :8 5 5 8 7
Digital Unholiness:0+1+1+0+1
Total Unholiness :3
Number :0 1 7 5 5 2 8 5 7
Digital Unholiness:0+1+2+3+2+1+0+1+2
Total Unholiness :12
Number :1 5 7 3 2 1
Digital Unholiness:∞+∞+∞+∞+∞+∞
Total Unholiness :∞
Number :0 4 6 8 9
Digital Unholiness:0+0+0+0+0
Total Unholiness :0
Твое задание
Вы должны написать программу или функцию, которая принимает положительное целое число или строку, состоящую только из цифр, в качестве входных данных и выводит их несвободно. Если вы решили использовать целое число в качестве входных данных, вы можете предположить, что у него никогда не будет ведущего0
поскольку ваш язык может его отбросить.
В случае бесконечной нечестивости, вы можете выбрать один из трех выходов
- Персонаж
∞
(3 байта) - Бесконечный вывод, содержащий не менее 1 ненулевой цифры, но только цифры.
- Встроенная
Infinity
стоимость.
Это код-гольф, поэтому выигрывает самый короткий код в байтах, удачи!
Infinity
значения законным?0
святая цифра, я буду изменять пост в соответствии с разрешенным ответом, основываясь на не ведущих 0 числах.Ответы:
MATL ,
2524 байтаПопробуйте онлайн!
Ввод - это строка. В выводе бесконечность изначально отображается как
Inf
.объяснение
источник
Python (3),
137131 байтПолученные результаты
источник
Pyth,
31292725 байтПопробуйте онлайн: демонстрация или тестовый набор
Для каждой цифры я вычисляю расстояния до каждого числа. Расстояние бесконечно, если вторая цифра не святая. Из этих списков я беру минимальное расстояние и суммирую его.
Объяснение:
источник
JavaScript (ES6), 93 байта
Если
Infinity
не является допустимой бесконечностью, то добавьте 13 байтов для==1/0?'∞':r
.источник