Это PPCG Prime
624 цифры в длину
777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777111111111111111111111111111111111111111111111111111111111111111111111111111111188888888118888888811188888811188888811188111118818811111881881111881881111881188111118818811111881881111111881111111188888888118888888811881111111881118888188111111118811111111881111111881111881188111111118811111111881111881881111881188111111118811111111188888811188888811111111111111111111111111111111111111111111111111111111111111111111111111111111333333333333333333333333333333333333333
Если мы разделим каждые 39 цифр, мы получим
777777777777777777777777777777777777777
777777777777777777777777777777777777777
777777777777777777777777777777777777777
777777777777777777777777777777777777777
111111111111111111111111111111111111111
111111111111111111111111111111111111111
188888888118888888811188888811188888811
188111118818811111881881111881881111881
188111118818811111881881111111881111111
188888888118888888811881111111881118888
188111111118811111111881111111881111881
188111111118811111111881111881881111881
188111111118811111111188888811188888811
111111111111111111111111111111111111111
111111111111111111111111111111111111111
333333333333333333333333333333333333333
Ваша задача - вывести PPCG-Prime
Это codegolf. Самый короткий код в байтах побеждает.
Если вы введете PPCG-Prime в функции Mathematica ниже, вы получите этот результат
ArrayPlot@Partition[IntegerDigits@#,39]&
n
будет простым, пропорциональна1/log(n)
, которая, в любом случае, не очень мала. Просто проверьте много цифр, пока не станет простым.log(n)
примерно1436.6
в этом случае.x/logx
по ГауссуОтветы:
Желе ,
5554524746 байтВ истории пересмотров есть более запутанные подходы, но этот простой превосходит их все.
Попробуйте онлайн!
Как это устроено
Это числовой литерал, закодированный в биективной базе 250, где цифры взяты из кодовой страницы желе. Аргумент цепочки (слева) и возвращаемое значение устанавливаются в закодированное целое число,
n: = 0x21871c77d7d7af6fafafeff0c37f72ff7fbfbdbfdfef5edfeff8e3 .
Буква, аналогичная приведенной выше, но вторая
“
отделяет два закодированных целых числа. Возвращаемое значение заменяется кодированным массивом, [777711, 113] .D
преобразует возвращаемое значение в десятичное ( [[7, 7, 7, 7, 1, 1], [1, 1, 3]] ), а затемx39
повторяет каждое отдельное целое число / цифру в результате 39 раз. В результате получается пара массивов, которые содержат цифры до и после 7-значного верхнего текста соответственно. Давайте назовем этот массив A .Сначала
B
преобразует (левый) аргумент n в двоичный файл. Это дает цифры, которые образуют 7-значный высокий текст, где каждый 88 был заменен на 0 .Затем
j
присоединяется к массиву A , используя двоичный массив в качестве разделителя.Это выполняет логическое ИЛИ с 88 , заменяя каждый 0 на 88 .
Теперь у нас есть правильные цифры, но в массиве 7 , 1 , 88 и 3 .
V
неявно превращает этот массив в строку, а затем уничтожает ее, получая одно целое число.источник
Жевательная резинка , 51 байт
Попробуйте онлайн!
источник
SOGL V0.12 ,
5251 байтовгалстуки жвачки!
обратите внимание, что этот ответ содержит вкладку
Попробуй здесь!
Пытается сохранить байты, используя одну и ту же строку для обоих из
P
s.Объяснение:
Числа там сохраняются как от оригинала, начиная с левого нижнего угла, повышаясь, затем 1 вправо и вниз, затем вверх, и т. Д.
Версия сжатия в 52 байта:
Попробуй здесь!
источник
...‘
получить эти цифры?...‘
?CG
в этот инструмент,...‘
нигде в этом инструменте не дает .Mathematica, 107 байт
Попробуйте онлайн!
источник
&
на конце).CJam, ASCII, 61
Попробуйте онлайн
Добавить
]s39/N*
для хорошей упаковки.Объяснение:
источник
C
519427414396377 байтовСпасибо Тасу, Феликсу Пальмену и Линн.
Для вашего интереса, вот более длинная и удобная для чтения версия:
источник
Java (OpenJDK 8) , 165 байт
Попробуйте онлайн!
кредиты
источник
n->{for(int i=0;++i<566;)System.out.print(i<157?7:i>526?3:i<236|i>446||new java.math.BigInteger("vnku5g6l0zenpa1kydel5rxw162k4fk4xapa154o",36).testBit(446-i)?1:88);}
88
, спасибо!Сетчатка , 129 байт
Попробуйте онлайн!
источник
Пакет,
364335333 байтаисточник
echo|
наcd|
(1,1,156) do
может быть сокращено до(1,1,156)do
Javascript (ES6),
187181 байт-6 байт благодаря @JustinMariner
Супер простой подход; вероятно, можно было бы сыграть в гольф еще немного.
объяснение
Пример кода (с некоторым вспомогательным кодом для добавления разрывов строк в выводе)
Показать фрагмент кода
источник
r
какr=s=>s[0].repeat(39)
и заменитьa
,b
иk
с иr`7`
т.д. Попробуйте его в Интернете! ,C (gcc) ,
269267 байтфункция, использует простой RLE.
Попробуйте онлайн!
источник
L"'OP\x9c"
вместоx
C (gcc) , 224 байта
Попробуйте онлайн!
Содержит некоторые непечатаемые, строковый литерал
"ww\x11dfFdfFDfFDfFDFDDFFDDFFDddDDFdDDddDDddDDDdDDDDffDffDFDDDFDfdDDDDFDDDdDDDdDDFdDDDDFDDDdDDFFDdDFDDDdDDDDdfDdfD\x11\x03"
.источник
Желе , 86 байт
Попробуйте онлайн!
-12 байт благодаря пользователю 202729
источник
“
можноseparates a list of strings inside a string literal
)Python 2 ,
309158155136135 байтовПопробуйте онлайн!
Python 2 , 137 байт
Попробуйте онлайн!
источник
Желе , 85 байт
Попробуйте онлайн!
Основанный на подходе Денниса к вызову Тринити-Холла, минус симметрия, плюс ведущие
7
s и конечные3
s.источник
PowerShell , 164 байта
Попробуйте онлайн!
Умножение строк, конкатенация и замены. PowerShell не имеет базы 36 или аналогичной, поэтому варианты сжатия большого числа ограничены. Возможно, есть лучший способ «сжать» среднюю часть - я все еще проверяю это.
источник
Wolfram Language (Mathematica) , 89 (17 + 71 + 1) байт
Сначала вы экспортируете номер в файл GZIP. Этот файл с именем "o" без расширения будет ровно 71 байт, что соответствует общему количеству. По умолчанию он пойдет на ваш
$TemporaryDirectory
. Пропускать цифры для удобства чтения.затем
восстановит номер. Имя файла - один байт, так что отсюда берется +1.
Попробуйте онлайн!
источник
Рубин, 109 байт
Скрипт вызывает
Zlib.inflate
для распаковки номера. Для этого нужен как минимум Ruby 1.9.3. Он содержит непечатаемые байты, поэтому я не могу вставить его здесь.Я вставляю вывод
vis prime-inflate.rb
:Если у вас есть unvis (1), запустите,
unvis prime-inflate.vis > prime-inflate.rb
чтобы восстановить 109-байтовый скрипт. Или вы можете декодировать Base64, ниже, с помощьюruby -e 'print *STDIN.read.unpack(?m)' < prime-inflate.b64 > prime-inflate.rb
.Я звоню,
Zlib.inflate
чтобы мне не нужно было разрабатывать и обрабатывать собственный алгоритм декомпрессии. Я используюDATA
с,__END__
потому что сжатая строка не является допустимой UTF-8. Код Ruby должен быть действительным ASCII (в Ruby 1.9.x) или UTF-8 (из Ruby 2.0) или иметь магический комментарий#coding:binary
для изменения кодировки, но Ruby не проверяет кодировку после__END__
.источник
Python 2 , 112 байт
Попробуйте онлайн!
источник
6502 машинный код (C64),
142122 байтаОнлайн демо
Использование:
sys49152
объяснение
Это также использует длины
1
и8
последовательностей в средней части; поскольку они все короче 16, два из них кодируются на байт.Комментарий к разборке:
источник
C (gcc) ,
188187185 байт-1 спасибо Джонатану Фречу.
-2 благодаря потолку.
Попробуйте онлайн!
источник
Python 2 ,
244128,120 байт-8 байт благодаря @JonathanFrech
Попробуйте онлайн!
источник
Befunge-93 , 500 байт
Попробуйте онлайн!
источник