вход
нет входных данных для этого вызова
Соревнование
Напишите код, который выводит:
первые 10 простых чисел, сумма цифр которых равна количеству байтов вашего кода
Примеры
Допустим, ваш код - Co&%423@k"oo"
это 13 bytes
ваш код, который должен выводить [67, 139, 157, 193, 229, 283, 337, 373, 409, 463]
те первые 10 простых чисел, чья сумма .... хорошо, вы поняли!
Если ваш код есть 8 bytes
, вы должны вывести[17, 53, 71, 107, 233, 251, 431, 503, 521, 701]
правила
Вы должны использовать только первые 10 ^ 8 простых чисел,
что означает, что все ваши числа должны быть <2038074743 = 10 ^ 8-е простые
Если вы не можете найти 10 простых чисел в этом диапазоне, которые соответствуют вашим байтам, то вам придется скорректировать свой код (возможно, вам даже придется добавить несколько байтов!), Чтобы найти « рабочее число байтов »
Просто выведите 10 простых чисел так, как вам нравится
Это код-гольф , поэтому выигрывает самый короткий код в байтах!
Ответы:
Нейм ,
1087 байт-1 байт благодаря ASCII-только.
Попробуйте онлайн!
Выходы:
Это (ну, по крайней мере, подход) нелегко.
объяснение
источник
νᛦ𝐋Λ𝐬7𝔼
на 7 ... править:π
->ν
: pЖеле , 14 байт
Попробуйте онлайн!
Это печатает:
Как это работает
источник
Pyth , 14 байт
Попробуй это здесь.
Это 14 байтов и отпечатки:
Pyth , 16 байт
Попробуй это здесь!
Обратите внимание, что это может быть 15 байт:,
.f&qssM`Z16P_ZTZ
но нет простых чисел, в которых сумма их цифр15
равна 15, поскольку она делится на3
, что означает, что число также будет делиться на3
, следовательно, не будет простым числом .Это 16 байтов в длину и печатает:
Как?
Объяснение 1
Объяснение 2
источник
Шелуха , 13 байт
Попробуйте онлайн!
объяснение
источник
Haskell ,
7771 байтПопробуйте онлайн!
Сохранено 6 байтов благодаря Laikoni
Для 71 байта:
1999999999 - это число с максимальной суммой цифр в допустимом диапазоне, и эта сумма равна 82. Любая программа, длина которой превышает 82 байта, не будет удовлетворять условию. Я надеюсь, что 77 байтов в порядке, но я не знаю (он все еще работает на моем компьютере).
РЕДАКТИРОВАТЬ: слегка оптимизированный вариант дал для 77 байтов:
источник
Желе ,
1413 байтовПопробуйте онлайн!
Как?
источник
Брахилог , 13 байт
Попробуйте онлайн!
источник
05AB1E , 10 байтов
Попробуйте онлайн!
В
}
качестве заполнителя используется, так как 9 - неверное количество байтов.Выход:
[19, 37, 73, 109, 127, 163, 181, 271, 307, 433]
объяснение
Почти 8 байт
Это было бы действительно, если бы можно было отключить еще один байт.
Попробуйте онлайн!
Выход:
[17, 53, 71, 107, 233, 251, 431, 503, 521, 701]
объяснение
источник
Mathematica, 52 байта
спасибо @ не дереву за -6 байт
источник
Select
сколько вещей вы хотите вернуть:Select[Prime@Range[10^6],Tr@IntegerDigits@#==52&,10]
Select[Prime@Range[77705],Tr@IntegerDigits@#==50&]
J, 29 байт
Попробуйте онлайн!
Определенно работает на REPL, возможно, работает и обычная программа (не уверен, как J выводит программы, если честно).
Первый проход, не особенно идеальный, но я не могу придумать более умных подходов. Собираюсь исследовать жесткое кодирование меньшей последовательности.
объяснение
872 гарантирует, что будут использоваться только первые 10 простых чисел, чья цифровая сумма равна 29.
источник
V ,
7371 байтПопробуйте онлайн!
Сжатие с простой заменой подстроки - я проверил все возможные выходные данные ответа, а затем выполнил тестирование «у которого простая замена строки, которая сохраняет большинство символов». например, создание этой таблицы . [править: я снова посмотрел на таблицу и увидел, что могу вместо этого сделать версию на 71 байт].
Более высокие простые числа содержат более длинные серии из 9, и лучшее, что я нашел, было то, где цифры складывают до 73, шаблон 89999 -> 1 символ сокращает текст с 99 байтов до 63 байтов. Поиск пути отмены 'a' -> '89999' в оставшихся 10 байтах привел меня к V.
источник
Japt , 19 байт
Попробуй это
Explantaion
Создайте массив целых чисел (
õ
) от 1 до 100 (L
) в квадрате.Filter (
f
), передавая каждый через функцию, гдеZ
находится текущий элемент.Проверьте,
Z
является ли простое число.Логическое И (
&&
).Разбить
Z
на массив цифр (ì
) и уменьшить путем добавления (x
).Проверьте на равенство с
19
.Slice (
¯
) до 10-го элемента и неявно выводить результирующий массив.источник
Japt, 19 bytes
Try it online! with the
-Q
flag to format the array.Outputs the first 10 primes whose digits add to
19
:Note that this could be golfed to 18 bytes (
ì x
→ìx
), but no primes with a digit sum of 18 exist.Explanation
Map the array
[0, ..., 9]
by the following function, whereX
is the current value.Return the first integer that returns true from the following function, where
Z
is the current valueCheck if this number is prime, and...
The sum (
x
) of the digits (ì
) inZ
equals (¥
) 19,And
X
is falsy («
is "and not", or&&!
). This also decrementsX
(´
).Resulting array is implicitly outputted.
источник
PARI/GP, 40 bytes
Not much golf about it (select those
x
with sum of digits 40 among first 8600 primes). Output is:источник
Pyke, 10 bytes
Try it here!
источник
Ruby 2.4.1, 74 Bytes
I was never going to beat one of the Codegolf optimised languages, but it was still fun to do it in Ruby. Frustrating that Prime is not in Core but in instead in the standard library. I am also frustrated that I can't beat Haskell.
источник
Paradoc (v0.2.7+), 10 bytes (CP-1252)
Try it online!
Somewhat questionable since it prints all the numbers with no separator between them. An 11-byte program that prints each number on a separate line:
The only thing worth mentioning about it is the upper bound that's slightly more difficult to construct:
Iè
is 18² = 324.источник
Bubblegum, 37 bytes
Try it online!
Output is
29989,39799,39979,48799,48889,49789,56989,58699,58789,58897
источник