Примечание: это в значительной степени вдохновлено этим вопросом .
Задача:
Ваша задача - сгенерировать n
простое число, когда каждый символ вашей программы повторяется n
на месте.
Допустим, ваша программа:
Derp
Каждый символ там повторяется один раз, поэтому он должен выводиться 2
.
Когда каждый символ дублируется на месте, вот так:
DDeerrpp
Это должно генерировать 2-е простое число, которое является 3
.
Технические характеристики:
- Ваша программа не должна принимать входные данные и выводить соответствующее простое число.
- Ваша программа должна работать для всех простых чисел, учитывая достаточно времени и памяти.
- Лидирующие и конечные переводы строки в порядке.
- Вывод должен быть в базовой базе языка по умолчанию - если по умолчанию нет, любая база в порядке.
Это код-гольф , поэтому выигрывает самый короткий код в байтах.
code-golf
math
primes
source-layout
clismique
источник
источник
Ответы:
Желе , 13 байт
Попробуйте онлайн! или запустите первые десять программ .
Фон
У желе есть несколько различных типов строковых литералов; все они начинаются с
“
. Если литерал содержит более одного“
, возвращается строковый массив, который“
отделяет строки друг от друга.Например,
“abc“def”
урожайность['abc', 'def']
.В зависимости от последнего символа литерала (любой из
”«»‘’
которых,«
в настоящее время не реализован), можно выбирать между различными типами литералов. Для‘
, мы получаем кодовые точки в кодовой странице Jelly вместо соответствующих символов Unicode.Например,
“abc“def‘
урожайность[[97, 98, 99], [100, 101, 102]]
.Литералы в первых трех программах соответствуют следующим массивам кодов.
Как это работает ( n = 3 )
источник
GS2 ( commit 67fea47 ),
63 байтаКак это устроено
Как и большинство команд, GS2
d
перегружен. Первоначально в стеке есть пустой список (входные данные или их отсутствие), поэтомуd
вычисляется его сумма. После первой итерации в стеке находится 0 иd
вычисляется его четность (также 0 ). Таким образом, независимо от того, сколько раз мы повторяемd
, результатом всегда будет один 0 .Следующая часть проста. Команда
n
выскакивает из верхней части стека и вставляет следующее простое число. Таким образом, повторениеn
k раз вычисляет k премьер.Наконец, команда просто применяет str к вершине стека, который преобразует число в его строковое представление и не влияет на строки. Таким образом, независимо от того, сколько раз мы повторяем
R
, результатом будет строковое представление k премьер.источник