Задний план
Супер-премьер - простое число, индекс в списке всех простых чисел также простой. Последовательность выглядит так:
3, 5, 11, 17, 31, 41, 59, 67, 83, 109, 127, 157, 179, 191, ...
Это последовательность A006450 в OEIS .
Вызов
Учитывая положительное целое число, определите, является ли оно суперпростым.
Тестовые случаи
2: ложь 3: правда 4: ложь 5: правда 7: ложь 11: правда 13: ложно 17: правда 709: правда 851: неверно 991: правда
счет
Это код-гольф , поэтому выигрывает самый короткий ответ на каждом языке.
code-golf
sequence
number-theory
decision-problem
primes
musicman523
источник
источник
Ответы:
Желе , 5 байт
Попробуйте онлайн!
Как это работает
источник
Mathematica,
2623 байтаСпасибо пользователю 202729 за сохранение 3 байта.
Это использует тот факт, что Mathematica оставляет большинство бессмысленных выражений без оценки (в данном случае логическое
And
из двух чисел) иMap
может применяться к любому выражению, а не только к спискам. Таким образом, мы вычисляемAnd
входное значение и его первичный индекс, который просто остается таким, и затем мыMap
проверяем первичность над этим выражением, которое превращает два операндаAnd
в логические значения, так чтоAnd
затем можно вычислить.источник
PrimeQ/@(#&&PrimePi@#)&
.Желе , 6 байт
Попробуйте онлайн!
Использует ту же технику, что и мой ответ Япта: сгенерируйте простые числа до n , получите индекс n в этом списке и проверьте его на простоту. Если n само не является простым, индекс равен 0 , что также не является простым, поэтому 0 все равно возвращается.
источник
Japt ,
1311 байтПроверьте это онлайн!
объяснение
Это на самом деле очень просто, в отличие от моего первоначального представления:
источник
Python 3 ,
1049793 байтаВозвращает
0
/1
, максимум на 4 байта длиннее, если это должно бытьTrue
/False
.Попробуйте онлайн!
источник
f
, вы можете переформатировать свой код следующим образом и исключить его из числа байтов.Желе , 7 байт
Попробуйте онлайн!
ÆC
подсчитывает количество простых чисел, меньших или равных входному значению (поэтому, если входное значение равно n- му простому, возвращается n ). ЗатемÆP
проверяет этот индекс на простоту. Наконец,a
выполняется логическое И между этим результатом иÆP
(проверкой первичности) исходного ввода.источник
Haskell , 62 байта
Попробуйте онлайн! Использование:
f 991
урожайностьTrue
.источник
05AB1E , 6 байтов
Попробуйте онлайн!
объяснение
источник
Pyth , 12 байт
Попробуйте онлайн!
объяснение
источник
Пайк, 8 байт
Попробуй это здесь!
источник
Perl 6 , 46 байт
Попробуйте онлайн!
источник
QBIC , 33 байта
объяснение
источник
Mathematica,
3529 байт-6 байт от @MartinEnder
источник
P@P@Range@#
следует сохранить кучу.Haskell, 121 байт
источник
(\(_,x)->x)
естьsnd
,(\(x,_)->p x)
есть(p.fst)
. Обаfst
иsnd
находятся в Прелюдии, поэтому нет необходимости в импорте.r x=elem x$take x s
. Однако, в этом случае вы можете пойти pointfree (снова вводя кавычку) и опустить имя функции:elem<*>(`take`s)
.Позитрон , 148 байт
Попробуйте онлайн!
источник
Пари / ГП , 31 байт
Попробуйте онлайн!
источник
Matlab,
3634 байтаСохранено 2 байта благодаря Тому Карпентеру.
Очень наивная реализация с использованием встроенных функций:
источник
(p=@isprime)(x)&p(nnz(primes(x)))
Python 2 , 89 байт
Попробуйте онлайн!
Конструкции
r
, список простых чисел <= n; если n - простое число, тоn
это nlen(r)
-е простое число. Таким образом, n - супер простое число тогда и только тогда, когда n в r и len (r) в r.источник
Python 2 , 79 байт
Попробуйте онлайн!
источник
Юлия 0.6, 61 байт
верните 1, если x суперстандарт, 0 в противном случае.
без использования функции простого типа.
источник