Codegolf - 1, 2, Пропустить Несколько, 99, 100

  • Автор темы Sergio01349
  • Обновлено
  • 23, Oct 2024
  • #1

Когда я был ребенком, существовал «действительно крутой» способ счета до 100:

9

Выведите точную строку, указанную выше, используя как можно меньше символов, не используя эти символы: 2 , 1 , 0 , 1, 2, miss a few, 99, 100

#код-гольф #колмогоров-сложность #ограниченный исходный код

Sergio01349


Рег
11 Jun, 2014

Тем
54

Постов
181

Баллов
461
  • 26, Oct 2024
  • #2

JavaScript (ES6), 43 байта

Только браузер.

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 say join ", ",5-4,5-3,"miss a few",3*33,4*5*5
 

Попробуйте онлайн! (с полифилом)


JavaScript (ES6), 45 байт

3ɽ÷ # stack = [1, 2] «eeȮǒḋp« # stack = [1, 2, "miss a few"] ₁‹₁ # stack = [1, 2, "miss a few", 99, 100] W‛, j # join stack on ", "

Попробуйте онлайн!

 

HackerVoDanh


Рег
11 Aug, 2015

Тем
73

Постов
196

Баллов
571
  • 26, Oct 2024
  • #4

Р, 43 41 байт

<?=join(', ',[$i=3/3,++$i,'miss a few',$i=33*3,++$i]);

Попробуйте онлайн!

i3, 3, miss a few, 8, <esc>|<C-x><C-x>l.l<C-a>ylp$pp<C-a> и X # push 1 Y # push 2 …š§€…†Ó # push compressed dictionary string "miss a few" т< # push 100-1 т # push 100 „, # push string ", " ý # join the stack with this string равны XY…š§€…†Óт<т„, ý первая строка 9 . Они приводятся к целым числам 2 and 1 операторами 0 and <?=join(', ',[!'',~-3,'miss a few',33*3,45^73]); .

 

Puchkov


Рег
15 Mar, 2014

Тем
78

Постов
203

Баллов
603
  • 26, Oct 2024
  • #5

Питон 3, 54, 51, 47 42 байта

Сохранено 2 байта благодаря предложению Diial Trauma заменить Z=0 T=10 print(", ".join(map(str,[(Z:=Z+1),Z+1,"miss a few",(T:=T*T)-1,T]))) with j+\,d[=hZhZ"miss a few"t=*TTT .

Сохранено 1 байт осознав, что я могу заменить ³ḊĖ.ịṚj“¤mɗʂɠẉ⁾»W¤j⁾, - Link: no arguments ³ - 100 Ḋ - dequeue -> [2,3,...,99,100] Ė - enumerate -> [[1,2],[2,3],...,[98,99],[99,100]] . - 0.5 ị - index into -> [[99,100],[1,2]] Ṛ - reverse ¤ - nilad followed by links as a nilad: “¤mɗʂɠẉ⁾» - dictionary compression of "miss a few" W - wrap in a list -> ["miss a few"] j - join -> [1,2,"miss a few",99,100] ⁾, - ", " j - join -> [1,", ",2,", ","miss a few",", ",99,", ",100] - implicit print -> `1, 2, miss a few, 99, 100` with ³ḊĖ.ịṚj“¤mɗʂɠẉ⁾»W¤j⁾, .

Сохранено 4 байта благодаря предложению dingledooper использовать print ', '.join(map(str,(4-3,5-3,'miss a few',33*3,5*5*4))) in the “×ƤṪ5Ġpṃ:Ƒ5ṫȷØJkxXp⁺¥ġ» !

Сохранено 5 байт благодаря предложению ovs использовать [Text.Encoding]::Unicode.GetString([Convert]::FromBase64string('MQAsACAAMgAsACAAbQBpAHMAcwAgAGEAIABmAGUAdwAsACAAOQA5ACwAIAAxADAAMAA=')) objects.

Новый ответ

$k=3-3;((@(46+3),@(53-3),@('miss a few'),@(57,57),@((46+3),48,48))|%{$k++;if($k-eq3){$_}else{($_|%{[char]$_})-join''}})-join', ' T`L`d

Попробуйте онлайн!

Старый ответ:

B, C, miss a few, JJ, BAA

Попробуйте онлайн!

 

Na3a


Рег
28 Mar, 2007

Тем
80

Постов
201

Баллов
651
  • 26, Oct 2024
  • #6

Желе, 23 байта

B, C, miss a few, JJ, BAA T`L`d

Попробуйте онлайн!

Как это работает

Следует отметить одну вещь: у Джелли есть miss a few, atom, which prints a string Jelly representation of it's argument. Lists in Jelly do not use , and +n, +n, 'miss a few, '#44+#45+n, +n as open/close markers, instead they consist of comma-separated values:

#include <string> #include <stdio.h> using namespace std; int main() { auto k = [](){for(int x:"4/#5/#plvv#d#ihz/#<</#433"s)putchar(x-3);}; k(); return 0; }

принты []{for(int x:"4/#5/#plvv#d#ihz/#<</#433"s)putchar(x-3);} , unfortunately, without spaces.

ü2Φÿßbÿ»f╙m¡6¿₧|░╘;┬u» ||answer||

HTML + CSS, 118 байт

ü←φr5╧wL'•↔♦$▒ò╠‼ ||answer||

Руби, 42 байта

m Map the function... ȯ←←← Decrement character 3 times "4/#5/#plvv#d#ihz/#<</#433 desired string "ASCII-shifted" by 3

Попробуйте онлайн!

-4 от Ионы. Заимствовано из ответа Арно.

Руби, 46 44 байта

mȯ←←←"4/#5/#plvv#d#ihz/#<</#433

Попробуйте онлайн!

Три непечатаемых объекта для кодовых точек 1, 2 и 3 находятся в строке, содержащей «cd».

-2 от manatwork. Другая версия с тем же количеством байтов

 

Arteam


Рег
24 Apr, 2007

Тем
68

Постов
186

Баллов
546
  • 26, Oct 2024
  • #7

Шепот v3, 124..120 114 байт

b"cd" => [99,100]

Попробуйте онлайн!

Объяснение:

Я использую тот факт, что каждую строку с номером \$x\$ можно вызвать с помощью \$x + k \cdot n \$, где \$k \in \mathbb{N} \$ и \$n\$ общее количество строк кода. b"\1\2" => [1,2] can be replaced by b"str" , "\1\2" , ()->join([b"";"miss a few";b"cd"],", ") Пример из кода из 11 строк: ссылка на строку

, и так далее.

Попробуйте переведенную версию онлайн!

Построчно:

$,=", ";say 5-4,5-3,"miss a few",3*33,4*5*5

Как всегда в Whispers, сначала запускаем последнюю строку:

say"C, D, miss a few, KK, CBB"=~y,A-L,/-:,r

Эта строка выводит результат из строки 56. Поскольку в коде нет 56 строк, на самом деле выводится строка \$ 56 \mod 11 = 1\$:

333ff

Применив тот же трюк еще раз, мы можем заменить эту строку на:

-[----->+>+>+>++>++<<<<<]>>>--.-----.------------.<-.------.>.>+++++++.>+++.<++++++..<.>>--------.<<.>>+++++.-.<++++.<<.>.<<++++++..>.>.<+++++.-..

/-: is an argument from the 0-9 В строке 5 мы можем ожидать функцию, а в строке 2 — массив. Функция будет применена к каждому элементу массива и заменит элемент результатом. Давайте сначала посмотрим на строку 5: cat(chartr("@-K","/-:","B, C, miss a few, JJ, BAA")) is converted to a string.

утверждение в строке 1.

l(){printf("%c, %d, miss a few %d, %o",7*7,5-3,'c',64);}

<?=5-4,', ',5-3,', miss a few, ',33*3,', ',5*5*4; creates an array with the arguments as its elements. If we would print this line we get the following array:

<?=

Теперь строка 2:

Пояснение аргументов:

Строка 3 и 4: простые строки %x

Строка 6: Возвращает длину строки 3, поэтому мы получаем printf

Строка 7: Возвращает длину строки 5, поэтому мы получаем printf('%c, %d, miss a few, %d, %o',7*7,5-3,33*3,64);

Строка 8: Возвращает результат строки 53 (на самом деле 9), возведенный в степень результата строки 6, поэтому мы получаем 99

Строка 54 (на самом деле 10): результат строки 8 вычитается из результата строки 7, поэтому мы получаем

 

Aplex777


Рег
04 Aug, 2011

Тем
70

Постов
181

Баллов
561
  • 26, Oct 2024
  • #8
Кроме того, менее весело, но на 2 байта короче от manatwork, улучшено BadHorsie (кажется, что 100

, 57 56 53 байта

Попробуйте онлайн! 1 , some spices, stir

А

РЕДАКТИРОВАТЬ: -1 байт благодаря Digital Trauma. 2 for hex but it has a 1..

РЕДАКТИРОВАТЬ 2: -3 байта благодаря Майклу Доргану за восьмеричный формат, думал о 153 с [1, ', ', 2, ', ', 'miss a few', ', ', 99, ', ', 100] can also take multiple arguments with comas):

Перевод Python 3.8:PHP

Then

, 51 49 байт

Попробуйте онлайн!

 

Grive


Рег
16 Feb, 2017

Тем
83

Постов
177

Баллов
612
  • 26, Oct 2024
  • #9
С (ГКК) >> Then 7 3 6 3 4 3 54 3 8

, 54 56 байт

Попробуйте онлайн!

Давайте сэкономим пару байтов, используя Octal для 100. Спасибо Шейху Йербути за сохранение байта и указание на проблему отсутствия запятых.

 

Fredick2


Рег
25 Aug, 2018

Тем
63

Постов
225

Баллов
580
  • 26, Oct 2024
  • #10
Р L

, 52 байта

Попробуйте онлайн! Each , we expand the range by 1 character in both directions resulting in L .

Кодирует числа как прописные буквы, а затем применяет преобразование диапазона символов. Поскольку мы не можем напрямую вводить

 

Ferrari_f2004


Рег
17 Dec, 2004

Тем
69

Постов
189

Баллов
544
  • 26, Oct 2024
  • #11
мозготрах >> "L"

, 146 байт

Попробуйте онлайн! >> Each 5 2 in 5 consecutive cells, followed by hunt and peck strategy.

Довольно простой цикл 255/5=51, дающий ASCII 51 и ASCII 102 как

 

Prince21


Рег
15 Jan, 2005

Тем
92

Постов
179

Баллов
669
  • 26, Oct 2024
  • #13
Юлия 34

, 41 байт

Попробуйте онлайн! 23 which is allowed if I understand the challenge correctly

12 converts the string in an array of the value of each character so 1 and >> Each 5 57 >> Then 7 3 6 3 4 3 54 3 8 > ", " > "miss a few" >> "L" >> #3 >> #5 >> 53*6 >> #4 >> 8-7 >> Output 56

и

 

ОлегМ


Рег
10 Apr, 2006

Тем
61

Постов
212

Баллов
537
  • 26, Oct 2024
  • #14
Шелуха $><<"cd".bytes.insert(2,"miss a few")*", "

, 31 байт

Попробуйте онлайн!

$><<[3/3,6/3,'miss a few',33*3,5*5*4]*", " ||answer||

Объяснение:, 20 19 17 Стакс

байты

<c>, <c>, miss a few, <d><d><c>, <c><style>c:before{content:counter(a);counter-increment:a}d{counter-increment:a 48}

сэкономил 2 байта благодаря Razetime


Запустите и отладьте его

Оригинальное безумное решение только для справочных целей:, 22 Стакс

3Ṗ,³э’¤j“¤mɗʂɠẉ⁾»W¤j⁾, - Main link. Takes no arguments 3 - Yield 3; Ṗ - Pop from 3, yielding [1, 2] ¤ - Group the previous links into a nilad: ³ - 100 ’ - Decrement; 99 ? - Tack; [99, 100] , - Pair; [[1, 2], [99, 100]] ¤ - Group the previous links into a nilad: “¤mɗʂɠẉ⁾» - The compressed string "miss a few" W - Wrap; ["miss a few"] j - Join; [1, 2, ["miss a few"], 99, 100] j⁾, - Join with ", "; "1, 2, miss a few, 99, 100"

байты

Запустите и отладьте его

 

Alex Fan


Рег
28 Dec, 2006

Тем
70

Постов
191

Баллов
541
  • 26, Oct 2024
  • #16
Бочка ]

, 31 34 байта

Это мой собственный эсоланг, для получения дополнительной информации перейдите по ссылке. [ and Увеличивает аккумулятор, печатает его, неявно печатает некоторые строки (

неявно печатаются), выполняет цикл приращения аккумулятора и завершает работу с того же момента, как и начался. Изменить: я понял, что «97» использует «9».

бьет по лбу

 

Plazotronik


Рег
15 Apr, 2010

Тем
75

Постов
174

Баллов
559
  • 26, Oct 2024
  • #17
Ретина 0.8.2 3Ṗ,³э’¤j“¤mɗʂɠẉ⁾»W¤j⁾,

, 32 байта Попробуйте онлайн!

print(f"{4-3}, {6-4}, miss a few, {33*3}, {4*5*5}")

Объяснение:

The b"" is equivalent to b"\1\2".

Замените пустой ввод строкой-буквой.

Транслитерация заглавных букв цифрами.

 

Minmjlinds48


Рег
21 Dec, 2013

Тем
61

Постов
190

Баллов
535
  • 26, Oct 2024
  • #22
05AB1E

, 16 байт + , 0 , 1 and FALSE .

TRUE

Я не думаю, что это будет короче, если

F ||answer||

Попробуйте онлайн!

T ||answer||

Вим, 37 нажатий клавиш

cat(T+F:T,"miss a few",3*33+F:T,sep=", ")

PHP, 58 54 байта

PHP на самом деле не хочет, чтобы его печатали коротко, но мне понравилось это придумать :)

 

Deieso


Рег
15 Dec, 2010

Тем
73

Постов
179

Баллов
594
Тем
403,760
Комментарии
400,028
Опыт
2,418,908