По неотрицательному числу n
отсортируйте цифры n
по их первому вхождению в пи .
Входные данные могут быть получены через аргумент функции cli или STDIN, а также в виде строки, char [] или целого числа. Вы можете выводить через возвращаемое значение, состояние выхода или STDOUT.
Ответы:
Pyth,
86 байтовПопробуй это здесь.
-1 благодаря Leaky Nun : вход предоставит,
0
если это когда-либо понадобится.Тривиальное -1 благодаря Jakube : Backtick не нужен (ах, как я пропустил это, КАК?!?).
источник
0
в конце. Если вход имеет0
, то0
будет предоставлен входом; если вход не имеет0
, это не имеет значения.ox+.n0
Python 3 ,
4039 байт1 байт благодаря Джонатану Аллану.
Попробуйте онлайн!
источник
3
, так как поиск вернется,-1
когда элемент не найден.05AB1E ,
1097 байтСохраненный 1 байт благодаря Leaky Nun, отметившему, что отфильтровывать дубликаты не нужно.
Сохранено 2 байта благодаря Аднану .
Попробуйте онлайн!
объяснение
источник
13žsRvy†J
для 9 байтовžq
вместо13žs
?Желе , 10 байт
Попробуйте онлайн!
Принимает ввод в виде строки цифр.
-3 байта благодаря @ETHproductions
объяснение
источник
3145926870
может быть представлен в виде 4-значной строки base-250 (то есть она занимает 6 байтов вместо 10), но я не уверен, как сжать ее как таковую.“ṀSṪw’
даст тебе3145926870
.Japt ,
109 байт8 байтов кода, +1 за
-P
флаг.Попробуйте онлайн! Принимает ввод в виде строки.
объяснение
источник
JavaScript (ES6), 54 байта
Использует строки для ввода / вывода.
источник
Желе ,
87 байт-1 байт благодаря Деннису (используйте любой существующий
0
на входе, умный.)Попробуйте онлайн!
Как?
источник
3820009
(sqrt of14592468760081
) все еще3
цифры в базе250
.Ṿ
вашем объяснении неуместно.CJam ,
1512108 байтПопробуйте онлайн!
-3: использовать строку, основанную на
P
переменной pi вместо литерала.-2: решил, что мне вообще не нужно унифицировать, так как в любом случае поиск индекса занимает первое место. -2: спасибо jimmy23013 за интересный подход с использованием x mod 65536.
Объяснение:
источник
ci
она даже конвертируется обратно в целое число.PHP, 71 байт
Решение регулярных выражений короче
или
Онлайн версии
PHP, 78 байт
PHP, 112 байт
Онлайн версия
источник
C
10397 байтПопробуйте онлайн
источник
char
вchar*p
иchar*t
Рубин, 50 байтов
источник
MATL , 14 байтов
Попробуйте онлайн!
Пояснение с примером
Символ
;
используется в качестве разделителя строк в матрицах. Так[1 2 3]
же и вектор строки, вектор-[1; 2; 3]
столбец и[1 2; 3 4]
квадратная матрица. Последний также может быть представлен, для ясности, какРассмотрим ввод
2325
в качестве примера.источник
C (gcc) , 78 байтов
Попробуйте онлайн!
источник
C # Interactive,
3736 байтНа самом деле вы должны выполнить это в интерактивном C # для правильных результатов, но я думаю, это то, что вы имели в виду со статусом выхода . Переменная i на самом деле является входной переменной (это может быть, например, строка), так что это в основном параметр метода.
Я думаю, что сам код довольно прост.
источник
3
?i
это где-то, чтобы его можно было использовать в качестве входных данных. Кроме того, если вы говорите C #, вы должны включитьusing System.Linq;
в число байтов. Однако, если это Interactive, вы должны указать язык как C # Interactive, а не только C #.05AB1E ,
56 байтов (неконкурентный)Пришлось осознать, что
0
нет стандартной длины в константе пи.Попробуйте онлайн!
источник
Σ
новее, чем вызов.PHP,
6665 байтСохранено 1 байт благодаря Титу.
источник
Java 7, 110 байт
Объяснение:
Тестовый код:
Попробуй это здесь.
Выход:
источник
Clojure, 38 байт
Ввод в строку, возвращает последовательность символов.
zipmap
создает объект «словарь», который также может использоваться в контексте функции.Если входные цифры гарантированно будут уникальными, то вы можете просто сделать это
#(filter(set %)"3145926870")
.источник
PHP,
6968Все еще побежденный preg_filter, но я думал, что это было довольно хорошо само по себе. Может быть, кто-то может сыграть в гольф несколько байтов.
источник
$c!=$d?:print$d
в качестве альтернативы$c==$d&&print$d
я вижу только в данный момент_3145926870
вместо "3145926870" сохраните 1 байтfor(;(~$d=$argn[$j++])?:~$c=_3145926870[++$i+$j=0];$c!=$d?:print$d);
также рабочая альтернативаPerl 6 , 34 байта
Попытайся
источник
к, 19 байт
Объяснение:
источник