Кажется, что многие хотели бы иметь это, так что теперь это продолжение этого вызова !
Определение : простая степень - это натуральное число, которое может быть выражено в виде p n где p - простое число, а n - натуральное число.
Задача : Учитывая простую степень p n > 1, вернуть степень n.
Тестовые случаи :
input output
9 2
16 4
343 3
2687 1
59049 10
Подсчет очков : это код-гольф . Кратчайший ответ в байтах побеждает.
code-golf
number
arithmetic
primes
Дрянная Монахиня
источник
источник
Ответы:
05AB1E , 2 байта
Попробуйте онлайн!
источник
Ò
Push-список основных факторов (с дубликатами) иg
: Push-длина .Python 3 , 49 байт
Попробуйте онлайн!
Выходы
True
вместо 1 ( как разрешено OP ). Рекурсивная функция, которая многократно находит наименьший коэффициент и затем снова вызывает функцию со следующей наименьшей степенью, пока не достигнет 1. Это расширение моего ответа на предыдущий вопрос.источник
Pyth, 2
Подсчитайте основные факторы:
Интернет тест .
источник
Python 2 , 37 байт
Попробуйте онлайн!
Считает факторы. Видимо я написал тот же гольф в 2015 году.
Узко выбивает нерекурсивный
Python 2 , 38 байт
Попробуйте онлайн!
источник
Утилиты Bash + GNU, 22
Попробуйте онлайн!
источник
factor|sed s/\ //|wc -w
?factor|tr -cd \ |wc -c
?постоянный ток ,
5041 байтПопробуйте онлайн!
Принимает ввод с вершины стека (в TIO поместите ввод в заголовок, чтобы загрузить его в стек перед выполнением). Выходы в стандартный вывод.
объяснение
Используемые регистры:
i
: текущий пробный делитель, покаX
запущен. Позже делитель мы нашли.X
: макросdli1+dsi%0<X
, который имеет эффект «приращение»i
, затем проверьте модуль со значением в стеке (которое будет исходным вводом). Если оно не равно нулю, повторите».Y
: макросdli/dli<Y
, который имеет эффект «Добавить в стек копию текущей вершины стека, разделенную наi
. Повторять доi
достижения».Полная программа:
источник
лицо , 86 байт
Ура, дольше, чем Java!
Попробуйте онлайн!
Мне особенно нравится уловка использования возвращаемого значения
sscanf
. Обычно возвращаемое значение отбрасывается, но здесь оно всегда будет 1, потому что мы всегда читаем одно число как ввод. Мы можем воспользоваться этим, присвоив ее возвращаемое значение переменной1
, сохранив 2 байта, которые в противном случае потребовались бы1
для явного присвоения 1.источник
Полиглот Attache и Wolfram Language (Mathematica) , 10 байт
Попробуйте Attache онлайн! Попробуйте Mathematica онлайн!
Просто встроенный для вычисления числа простых факторов N имеет.
объяснение
Поскольку N = p k , Ω ( N ) = Ω ( p k ) = k , то желаемый результат.
источник
Java 8, 59 байт
Лямбда из
int
вint
.Попробуйте онлайн
источник
J, 4 байта
q:
дает список простых факторов,#
дает длину списка.Попробуйте онлайн!
источник
R , 37 байт
Попробуйте онлайн!
источник
sum(x|1)
почти всегда корочеlength(x)
Stax ,43 байтов
Запустите и отладьте его
Длина простой факторизации.
источник
MATL , 3 байта
Попробуйте онлайн!
Объяснение:
источник
Желе ,
32 байтаПопробуйте онлайн!
источник
Пробел, 141 байт
Буквы
S
(пробел),T
(табуляция) иN
(новая строка) добавляются только как подсветка.[..._some_action]
добавлено только в качестве объяснения.Попробуйте онлайн (только с пробелами, вкладками и новыми строками).
Объяснение в псевдокоде:
Пример выполнения:
input = 9
Программа останавливается с ошибкой: выход не найден.
источник
Брахилог , 2 байта
Попробуйте онлайн!
объяснение
источник
Python 2 , 62 байта
Попробуйте онлайн!
Здесь нет ничего особенного.
источник
Japt , 3 байта
Попробуйте онлайн!
Объяснение:
источник
На самом деле , 2 байта
Попробуйте онлайн!
источник
Haskell , 27 байт
Попробуйте онлайн!
Считает факторы. Для сравнения:
Haskell , 28 байт
Попробуйте онлайн!
Haskell , 28 байт
Попробуйте онлайн!
Haskell , 30 байт
Попробуйте онлайн!
источник
Октава , 18 байт
Попробуйте онлайн!
Делает то, что говорит на банке: количество ненулевых элементов в простой факторизации входных данных.
источник
Cjam, 5 байтов
Попробуйте онлайн!
Объяснение:
Встроенные - это здорово!
источник
rimf,
(полная программа) и{mf,}
(функция) будет действительным.QBasic, 51 байт
Использует тот же алгоритм, что и решение «Восстановить простое», чтобы найти базу, затем использует правила логарифмов для получения показателя степени:л о г( рN) = n ⋅ l o g( р ) ,
источник
Gaia , 2 байта
Попробуйте онлайн!
источник
JavaScript (ES6), 37 байт
Попробуйте онлайн!
источник
Perl 6 , 36 байт
Ищет первый фактор
(2..*).first: $_%%*
, затем вычисляет приблизительное значение (журналы не получат его точно) и округляет его.Попробуйте онлайн!
источник
Пари / ГП , 8 байт
Попробуйте онлайн!
Пари / ГП , 14 байтов
Попробуйте онлайн!
источник
Ракетка , 31 байт
Попробуйте онлайн!
источник
Perl 6 , 18 байт
Попробуйте онлайн!
Блок анонимного кода, который получает список факторов и приводит его к числу.
источник
JavaScript (Node.js) , 29 байт
Попробуйте онлайн! Примечание: переполнение стека для больших входов.
источник