Это не имеет практической цели, но это может быть весело для гольфа.
Вызов
Учитывая число n ,
- Подсчитайте количество каждой цифры в n и добавьте 1 к каждому счету
- Возьмем простую факторизацию n
- Подсчитайте количество каждой цифры в простой факторизации n , не включая повторяющиеся простые числа
- Создайте новый список, умножив вместе соответствующие элементы списков из шагов 1 и 3
- Вернуть сумму этого списка
Например, 121 имеет два 1
s и a 2
, поэтому вы получите следующий список из шага 1:
0 1 2 3 4 5 6 7 8 9
1 3 2 1 1 1 1 1 1 1
Первичная факторизация 121 равна 11 2 , что дает следующий список для шага 3:
0 1 2 3 4 5 6 7 8 9
0 2 0 0 0 0 0 0 0 0
Обратите внимание, как мы не посчитали показатель. Они умножаются вместе, чтобы получить:
0 1 2 3 4 5 6 7 8 9
0 6 0 0 0 0 0 0 0 0
И сумма этого списка составляет 6.
Контрольные примеры
1 -> 0
2 -> 2
3 -> 2
4 -> 1
5 -> 2
10 -> 2
13 -> 4
121 -> 6
Заметки
- Стандартные лазейки запрещены.
- Ввод и вывод могут быть в любом разумном формате.
- Вы должны оставить единицы (или нули для шага 3) в списке для цифр, которые не появились в числе.
- Это код-гольф , поэтому выигрывает самое короткое решение в байтах.
232792560
-> [2,1,4,2,1,2,2,2,1,2]
(шаг 1); 2*2*2*2*3*3*5*7*14*17*19
(шаг 2); так [0,5,1,2,0,1,0,2,0,1]
(шаг 3); затем [0,5,4,4,0,2,0,4,0,2]
(шаг 4); и, следовательно, должен выводить 21
.