задача
Ваша задача - напечатать или вывести все положительные числа, в которых каждая многозначная подстрока в ее десятичном представлении также проста. Если номер имеет хотя бы 2 цифры, это будет означать, что сам номер также должен быть простым.
пример
6197
в последовательности , потому что каждый многоразрядная подстрока в6197
простом, а именно:61
,19
,97
,619
,197
,6197
(сам).- Обратите внимание, что
6
это не простое число, но6197
все еще в последовательности, потому что6
не является подстрокой из нескольких цифр6197
. 8
также в последовательности, потому что каждая многозначная подстрока в8
простом. В нем нет многозначной подстроки8
, так что это случай бессмысленной правды .
Спекуляции
- Стандартные лазейки применяются, за исключением того, что вы позволили Кодируете выходную информацию или магазина , связанную с выходом в вашей программе.
- Числа на выходе могут быть в любом порядке .
- Числа в выводе будут разрешено иметь дубликаты.
- Вы можете использовать любой разделитель , если вы решите печатать вместо вывода.
- Вам разрешается префикс и / или постфиксный вывод, если вы решите печатать вместо вывода.
- Разделитель, префикс и постфикс могут не содержать цифр (от U + 0030 до U + 0039).
Полный список (58 наименований)
1
2
3
4
5
6
7
8
9
11
13
17
19
23
29
31
37
41
43
47
53
59
61
67
71
73
79
83
89
97
113
131
137
173
179
197
311
313
317
373
379
419
431
479
613
617
619
673
719
797
971
1373
3137
3797
6131
6173
6197
9719
Ссылка
- OEIS A131648 (неполный список)
Как всегда, пожалуйста, не стесняйтесь обращаться в комментариях ко всему, что я должен уточнить.
Ответы:
Брахилог , 18 байт
Попробуйте онлайн!
Итак ... я готов к "Баунти" ? : D
источник
05AB1E ,
1513 байтКод:
Объяснение:
Использует кодировку CP-1252 . Попробуйте онлайн! (может занять несколько секунд).
источник
Brachylog ,
1817151615 байтПопробуйте онлайн!
-1 байт после обсуждения с Fatalize вдохновил меня просто посмотреть , что произойдет , если я поменять
l
и в<
окрестностях.Этот предикат генерирует вывод через входную переменную, пока выходная переменная остается неограниченной. Так как дубликаты разрешены, каждое число генерируется с кратностью, равной 2 степени числа его цифр, которые являются простыми числами.
Старые версии:
источник
8ḟ⟦₁{sᶠ{Ḋ|ṗ}ᵐ&}ˢ
Брахилог , 18 байт
Другое решение брахилога. Я не мог получить его короче, чем решение Erik The Outgolfer's Brachylog; это точно такая же длина, но приближается к поколению с противоположного направления.
Похоже, что Unrelated String победил многих персонажей, которых я поздравляю.
Объяснение:
Попробуйте онлайн!
источник
Желе , 17 байт
Мой первый желе ответ! Сохранено 3 байта благодаря @Leaky Nun !
Попробуйте онлайн
Объяснение:
источник
RÇÐf
можно заменить наÇ€T
.ṖÐfḌÆP€
можно заменить наḌḟDÆP
.Java 8, 182 байта
Порт gastropner «п.к. (НКА) ответ , поэтому убедитесь , что upvote своего ответа!
Попробуйте онлайн.
Объяснение:
источник
PowerShell v2 +,
107104 байтаПредупреждение: Kinda Slow
Цикл от (
11
до ) и извлекает числа с помощью селектора ( ). Предложение состоит из двух компонентов: первый цикл переходит к текущему номеру и используется для извлечения тех чисел, которые образуют подстроку текущего номера (через оператор регулярного выражения). Мы храним эти подстроки в . Вторая часть проходит по циклу и использует для извлечения всех простых чисел, используя простое регулярное выражение . Затем мы берем оба, и на самом деле проверяем, являются ли они ual. Например, будет иметь и каждый из них является основным, так что будет и, таким образом, будет выбран.1e4
10000
Where-Object
|?{...}
11
Where-Object
-match
$x
$x
Where-Object
.count
-eq
971
$x = (71,97,971)
3-eq3
$TRUE
971
Этот результат объединяется в массив с диапазоном
1..10
. Полученный массив остается в конвейере, и вывод неявный, с новой строкой между элементами по умолчанию.источник
Japt , 15 байт
Попробуй это
источник
C (gcc) ,
144142140136134132 байта-2 спасибо Кевину Круйссену. -2 благодаря потолку
... И, вдохновленный этим, мы можем получить еще 2 байта из цикла for.
Также беззастенчиво назвал довольно лучшего главного контролера из ответа Кевина Круйссена для другого -4.
Попробуйте онлайн!
источник
||n<10
может быть|n<10
иfor(n=1;n<1e4;n++)
может бытьfor(n=0;++n<1e4;)
для -2 байтов.Malbolge Unshackled (вариант с 20-кратным вращением), 2,5254e7 байт или 1,9809e7 байт
Размер этого ответа превышает максимально допустимый размер программы (eh), поэтому код находится в моем репозитории GitHub (примечание: не копируйте код, используя CTRL + A и CTRL + C, просто щелкните правой кнопкой мыши и нажмите «Сохранить элемент назначения как». .. ").
Как запустить это?
Это может быть непростой задачей, потому что наивному интерпретатору Haskell понадобятся годы, чтобы запустить это. У TIO есть приличный интерпретатор Malbogle Unshackled, но, к сожалению, я не смогу его использовать (ограничения).
Лучший вариант, который я смог найти, это фиксированный вариант ширины вращения в 20 трит, который очень хорошо работает.
Чтобы сделать переводчика немного быстрее, я удалил все проверки из интерпретатора Мэттиласа Люттера «Малболж».
Примечания по производительности
Приложение работало около 40 минут на моей машине, производя шестнадцатеричные числа последовательности. Я остановил его около часа вычислений, и он закончился в 0x11.
Обратите внимание, что этот ответ отличается от моего другого, потому что этот фактически вычисляет числа, и его можно сделать так, чтобы он вычислял их бесконечно.
Приложение выделяет дополнительный буфер, размер которого составляет около 7 гигабайт, поэтому лучше подготовьте свою свободную оперативную память.
Альтернативный вариант
Альтернативный вариант использует около 2 гигабайт памяти меньше, но выводит его в виде символов ASCII (0 = ASCII (0x0), 10 = перевод строки и т. Д.) И доступен здесь . Это не конкурирует, хотя, из-за требований вызова
источник
Python 3 , 118 байт
Попробуйте онлайн!
объяснение
Предупреждение: в этом решении не задействованы фактические строки.
источник
Рубин, 81 + 8 = 89 байт
+8 байт для
-rprime
.Смотрите его на repl.it: https://repl.it/CniR/2
источник
Perl 6 ,
47 4443 байтаОбъяснение:
источник
C #,
261249247 байтСохранено 12 байтов благодаря Leaky Nun
Это компилируется в
Func<List<int>>
.Отформатированная версия выглядит так:
источник
false
илиtrue
используйте0>1
и0<1
Swift 4 , 144 байта
Попробуйте онлайн!
объяснение
источник
JavaScript (Node.js) , 130 байт
если я могу предположить бесконечный стек
i*i<=n&&
может быть удален иi*i>n
повороты наi>=n
что уменьшает код на 9 байт и , возможно , преобразовать основную функцию рекурсивный: https://tio.run/##LYpBDoIwEEX33AMyAxVbXUmccgX2xkWDRYeQaSPqyrvXkrj5ef/lze7j1vHJ8bWTcPMpTQRMWjm6XJFs0/DZ@EM/ASunBmCsKtfG9/rIiJ0rIoEoJpNbKXPdx@1jx5akGEiytqdNYp2nNFr / wR @ xHkD2Rn81dpLGIGtYfLuEO0yAmH4 (119 байт)Попробуйте онлайн!
источник
Malbolge , 1361 байт
Простая и скучная версия. Отображает числа от самого высокого.
Попробуйте онлайн!
источник
TI-83/84 BASIC, 124 байта
Зацикливается на первые 10 тысяч целых чисел. Устанавливает счетчик в N, чтобы проверить каждую простую подстроку, и int (log (A извлекает на единицу меньше, чем число цифр в текущем номере. Затем мы отложим это число во второй переменной, чтобы мы могли уменьшить P на каждую длину). подстрока не менее 2 цифр. 10 ^ ... и AnsfPart (iPart (,,, генерирует текущую подстроку для проверки на примитивность, затем следующие 3 строки проверяют первичность на 1 или 0 в Ans. Если подстрока не является простой , мы увеличиваем N, и после проверки всех подстрок, если N все еще равно 0, мы печатаем текущее число.
Возможно, можно сделать некоторые изменения, чтобы повысить эффективность проверки на первичность этого теста? Я просто рад, что нашел алгоритм в меньшем количестве байтов, чем сохранял вывод непосредственно в формате TI-83!
источник
Python 3.8 (предварительная версия) , 194 байта
Попробуйте онлайн!
источник
PHP , 135 байт
Попробуйте онлайн!
источник