Струна - Crazy 8S Code Golf

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

Создайте программу, которая печатает все целые числа включительно между интервалами

 
 (1, 16) -> 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

(115, 123) -> 115 116 117 118 119 $ 121 122 123
 
, and replaces multiples of 8 in the sequence with random (uniformly distributed, independent of other characters), non-numeric, non-whitespace, printable ASCII characters.

Предположим, что 0

Если номер состоит более чем из 1 цифры, убедитесь, что количество символов в замене совпадает!

Примеры:

(1, 16) -> 1 2 3 4 5 6 7 $ 9 10 11 12 13 14 15 n@ (115, 123) -> 115, 116, 117, 118, 119, :F<, 121, 122, 123 (1, 3) -> 1 2 3

Непримеры:

(a, b)

Это кодовый гольф, поэтому побеждает самый короткий код в байтах!

Текущий победитель:

Пайк (21 байт) от Mudyfish

Самые популярные:

Python 2 (119 байт) Денниса

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

Sgalkin


Рег
14 Mar, 2020

Тем
83

Постов
189

Баллов
624
  • 26, Oct 2024
  • #3

Питон 2, 126 байт

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

from random import* def f(a,b): for i in range(a,b+1): if i%8<1: k,i=str(i),'' for _ in k:i+=choice([chr(j)for j in range(33,48)]+[chr(j)for j in range(57,126)]) print i

Большое спасибо Flp.Tkc и EasterlyIrk за помощь!

 

Gannilion


Рег
07 Jul, 2006

Тем
78

Постов
181

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

зш, 100 98 байт

for i ({$1..$2})((i%8))||i=`tr -dc !-/:-~</*/ur*|head -c$#i`&&<<<$i

Два входных аргумента передаются как аргументы командной строки, а числа выводятся в отдельных строках.

{r:IntRange->var s="" for(i in r){for(c in "$i"){var n=java.util.Random().nextInt(83) if(n>14)n+=10 s+=if(i%8>0)c else '!'+n} s+=" "} s} ||answer||

Пайк, 22 21 байт

function c8( $a, $b ) { for( ; $a<=$b; $a++ ) { // loop between a -> b echo $a % 8 ? $a : // every 8, call anon func instead of value (function($l) { while( $l-- ) { // repeat length of value $x = rand( 44, 128 ); // range size is printable chars [33,47][58,127] $x-= $x > 58 ?: 11; // Subtract one from x. If x was less than or // equal to 58, subtract a further ten from it // so that it now falls within the 33-47 range echo chr( $x ); // echo ASCII value } })( strlen( $a ) )," "; } }

Попробуйте здесь!

Принимает ввод в форме: function($a,$b){for(;$a<=$b;$a++)echo$a%8?$a:(function($l){while($l--)echo chr(($x=rand(44,128))-($x>58?:11));})(strlen($a))," ";} , include random.fs \ get the length (in digits) of a number : num-length 0 <# #s #> nip ; \ check if a number is a multiple of another : is-multiple mod 0= ; \ get a random printable non-digit ascii char : random-char 84 random 33 + dup 47 > 10 * - ; \ get a "random" string of printable ascii chars the same length as a number : rand-str num-length 0 do random-char emit loop space ; \ print numbers from a to b, replacing multiple of 8 with a random ascii string of the same length : crazy-eights 1+ swap do i 8 is-multiple if i rand-str else i . then loop ;

include random.fs \ include/import the random module : f \ start new word definition 1+ swap \ add 1 to end number, because forth loops are [start, end), and swap order do \ start counted loop form start to end i 8 mod \ get the remainder of dividing i (loop index) by 8 if \ if true (not 0, therefore not multiple of 8) i . \ print the index else \ otherwise i 0 \ convert index to double-length number <# #s #> \ use formatted numeric output to convert number to a string 0 do \ loop from 0 to (string-length - 1) 84 random \ get random number between 0 and 83 33 + \ add 33 dup 47 > \ check if result is larger than 47 10 * - \ if it is add 10 to result (results in number in range: 33-47,58-126) emit \ output ascii char corresponding with number loop \ end inner loop ." "then \ output a space and then close the if/else loop \ end the outer loop ; \ end the word definition ||answer||

Математика, 96 байт

include random.fs : f 1+ swap do i 8 mod if i . else i 0 <# #s #> 0 do 83 random 33 + dup 47 > 10 * - emit loop ." "then loop ;

Объяснение

Для входов ;òV ®%8?Z:EÅk9ò)öZìl :Implicit input of integers U & V òV :Range [U,V] ® :Map each Z %8 : Modulo 8 ?Z: : If truthy, return Z, else ; E : Printable ASCII Å : Slice off first character k : Remove 9ò : Range [0,9] ) : End remove Zì : Digit array of Z l : Length ö : Get that many random characters from the string и ;òV ®%8?Z:EÅk9ò)öZìl :

Ÿ # Create a list in the range [low (implicit) input, high (implicit) input] ε # Map each value to: D # Duplicate the value 8Öi # If it's divisible by 8: žQ # Push all printable ASCII characters (" " through "~") žhK # Remove all digits ¦ # Remove the first character (the space) .r # Randomly shuffle the remaining characters s # Swap to take the map value again g # Get its length £ # And leave that many characters from the string # (and implicitly output the resulting list after we're done mapping)

Генерировать highest\nlowest

ŸεD8ÖižQžhK¦.rsg£

Для всех чисел, которые делятся на 8 (назовем это :: Get inputs 'a' and 'b' from the command line [a,b| FOR(c=a; c<=b; c++) ~c%8=0| IF c is cleanly divisible by 8 THEN _l!c$| Take the length (_l) of the string representation (! ... $) of c [ | FOR (d = 1; d<= length(c); d++) _R33,116| Set e to a random value in the range 33 - 116 (all the printable ascii's - 10) ~e>47 IF e falls between 47 and e<58| and 58 (ASCII code for 0-9) THEN e=e+z e = e + 10 (z == 10 in QBIC) ] END IF Z=Z+ Add to Z$ chr$(e)] ASCII character e \ ELSE if c is not cleanly divisible by 8 Z=Z+!c$ Add to Z the string representation of c ] NEXT Z=Z+@ Add a space to Z$ (@ is an implicitly delimited string literal with 1 significant space) ( Z$ is implicitly printed at end of program ) ), apply this replacement rule:

1 2 3 4 5 6 7 U 9 10 11 12 13 14 15 M9 17 18 19 20 21 22 23 ^L 25 26 27 28 29 30 31 <U 33 34 35 36 37 38 39 gH 41 42 43 44 45 46 47 aJ 49 50 51 52 53 54 55 1b 57 58 59 60 61 62 63 ,C 65 66 67 68 69 70 71 ]; 73 74 75 76 77 78 79 [B 81 82 83 84 85 86 87 Ix 89

Получите список всех печатных символов ASCII, кроме цифр.

1, 89

Псевдослучайный выбор ::[a,b|~c%8=0|[len(!c$)|Z=Z+chr$(_r33,126|)]\Z=Z+!c$]Z=Z+@ characters from the list, allowing duplicates.

0-9

Присоединяйтесь к персонажам.

 

Dunhill1


Рег
28 Jun, 2012

Тем
66

Постов
200

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

Р, 73 байта

::[a,b|~c%8=0|[_l!c$||_R33,116|~e>47 and e<58|e=e+z]Z=Z+chr$(e)]\Z=Z+!c$]Z=Z+@

Считывает ввод со стандартного ввода и заменяет заменяет числа, делящиеся на do language plpgsql $$ begin for n in a..b loop raise info '%', case when 0 = n % 8 then ( select array_to_string(array(select * from ( select chr(generate_series(33, 126)) ) t where chr !~ '\d' order by random() limit floor(log(n)) + 1), '') ) else n::text end; end loop; end; $$ with a uniformly chosen sample of ascii characters in the range do language plpgsql $$ begin for n in a..bloop raise info'%',case when 0=n%8then(select array_to_string(array(select*from(select chr(generate_series(33,126)))t where chr!~'\d'order by random()limit floor(log(n))+1),''))else n::text end;end loop;end;$$ . К сожалению, для составления случайной выборки нам нужен вектор символов. $c returns one string rather than a vector so we also have to vectorize it over the range using $c[random_key] .

 

Mass01


Рег
18 Jan, 2009

Тем
70

Постов
189

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

Питон 2, 126 байт

(нельзя просто переиграть Денниса)

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

array_rand

Это функция, которая принимает два аргумента и печатает непосредственно в $c .

127 байт

echo chr($c[array_rand($c)])

Это безымянная анонимная функция. Чтобы использовать ее, присвойте переменной (например, else { for($i = 0; $i < strlen($v); $i++) { ... }} ), and then call with % . Это возвращает результат в виде списка.

 

Shura311


Рег
26 Mar, 2007

Тем
64

Постов
217

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

Пип, 28 байт

if($v % 8 != 0) { echo $v; }

Принимает числа в качестве аргументов командной строки и печатает список результатов, разделенных новой строкой. Попробуйте онлайн!

Объяснение:

$b ||answer||

JavaScript (ES6), 114 байт

$a foreach(range($a,$b) as $v)

Эти проклятые встроенные модули с 23-байтовыми именами....

 

Slana


Рег
19 Feb, 2009

Тем
83

Постов
198

Баллов
633
  • 26, Oct 2024
  • #8

Баш + апг, 64, 76, 73 байта

РЕДАКТИРОВАНИЕ:

  • Исправлена ​​проблема «8 8», исключила числовые символы из набора случайных символов, +12 байт.

  • -3 байта, заменил $n with $c = array_diff(range(32,126), $n) , спасибо @pxeger

играл в гольф

$n = range(48,57)

Тест

$n=range(48,57);$c=array_diff(range(32,126),$n); foreach(range($a,$b) as $v){if($v%8!=0){echo $v;} else{for($i=0;$i<strlen($v);$i++){echo chr($c[array_rand($c)]);}}} ||answer||

МАТЛ, 26 байт

def r(a:Int, b:Int)={ var l=(33 to 47).toList:::(58 to 126).toList l=Random.shuffle(l) var x=ListBuffer[String]() var k=0 (a to b).toList.foreach{e=>{ if(k==l.length){k=0 l=Random.shuffle(l)} if (e.toInt%8==0){x+=l(k).toChar.toString k+=1} else{x+=e.toString k+=1}}} x}

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

Объяснение

def S(a: Int, b: Int)={ val c=(33 to 47)++(58 to 126) val r = (a to b).toStream.map {case x if x%8==0=>c(Random.nextInt(c.length)).toChar.toString case x => String.valueOf(x)} r} ||answer||

Пиф, 24 байта

def S(a:Int,b:Int)= a to b map(x=>if(x%8==0)Random.nextInt(((33 to 47)++(58 to 126)).length).toChar.toString else String.valueOf(x))

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

Объяснение:

{(?84¨⍕⍵)⊇⎕D~⍨'!'…'~'}¨@{0=8|⍵}… ⍝ Dyadic 2-train … ⍝ Tacit range: list of numbers from left arg ⍝ to right arg inclusive {(?84¨⍕⍵)⊇⎕D~⍨'!'…'~'}¨@{0=8|⍵} ⍝ Monadic function applied to above { } ⍝ Function definition 8|⍵ ⍝ 8 modulo every item in our range 0= ⍝ Transform list into a boolean vector, with ⍝ 1 where item was equal to zero, 0 otherwise ¨@ ⍝ Applies left function to each item selected ⍝ by above { } ⍝ Function definition '!'…'~' ⍝ Range of all printable ASCII chars ⎕D~⍨ ⍝ Remove numeric characters from above ( ⍕⍵) ⍝ Convert function argument to string ⍝ (e.g., 123 -> "123") 84¨ ⍝ For each character, replace with number 84 ⍝ (number of non-numeric printable ASCII chars) ? ⍝ Generate random number from 1-84 for each ⍝ 84 in list ⊇ ⍝ Index the ASCII char list with above random ⍝ numbers ||answer||

Перл 6, 60 байт

{(?84¨⍕⍵)⊇⎕D~⍨'!'…'~'}¨@{0=8|⍵}…

Объяснение:

  • b->a->{ // Method with two integer parameters and String return-type var r=""; // Result-String, starting empty for(;a<=b // Loop as long as `a` is smaller than or equal to `b` ; // After every iteration: r+=" ", // Append a space to the result-String a++) // And increase `a` by 1 for(var c:(a+"").split("")){ // Inner loop over the characters of the current number char t=0; // Random-char, starting at 0 for(;t<33|t>126|t>47&t<59; // Loop until `t` is a non-digit printable ASCII char t*=Math.random())t=127; // Set `t` to a random character with a unicode in the range [0,127) r+=a%8<1? // If the current `a` is divisible by 8: t // Append the random character : // Else: c;} // Append the digit instead return r;} // Return the result : A lambda that takes two arguments, generates the list of integers in that range, and returns it with the following transformation applied to each element:
  • interface M{static void main(String[]A){var r="";for(var a=new Long(A[0]);a<=new Long(A[1]);r+=" ",a++)for(var c:(a+"").split("")){char t=0;for(;t<33|t>126|t>47&t<59;t*=Math.random())t=127;r+=a%8<1?t:c;}System.out.print(r);}} : If the element is not divisible by 8, pass it on unchanged. Otherwise...
  • b->a->{var r="";for(;a<=b;r+=" ",a++)for(var c:(a+"").split("")){char t=0;for(;t<33|t>126|t>47&t<59;t*=Math.random())t=127;r+=a%8<1?t:c;}return r;} : ...replace each character of its string representation with the value generated by this expression:
  • f(a, b) { // recursive function, parameters are implicitly int b-a && f(a, b-1); // recurse until a = b if(b % 8) // if the number is a multiple of 8 printf("%d", b); // simply print it else for(; b; b /= 10) { // while b > 0, lop off the last digit while(isdigit(a = rand() % 94 + 33)); // generate random characters in ASCII range [33, 127] until one is non-numeric putchar(a); // print the character } puts(""); // print a newline } : Generate the range of characters between f(a,b){b-a&&f(a,b-1);if(b%8)printf("%d",b);else for(;b;b/=10){while(isdigit(a=rand()%94+33));putchar(a);}puts("");} and s(a,r){ a&& // Loop recursively on a!=0 s(!isdigit(r=rand()%94+33) // Test random selection ?putchar(r),a/10 // Print and reduce a :a // Retry random selection ,0); // Second arg, recurse } f(a,b){ b>a&& // Loop recursively on b>a f(a,b-1); // Reduce b, recurse b%8?printf("%d",b) // Print non 8's :s(b,0); // Call s() for 8's printf(" "); // Space separator } (in Unicode order), filter out digits, and randomly pick one of the remaining characters.
 

Mrbronx


Рег
24 Nov, 2006

Тем
58

Постов
170

Баллов
480
  • 26, Oct 2024
  • #9

Перл, 66 байт

%94+33

Беги с s(a,r){a&&s(!isdigit(r=rand()%94+33)?putchar(r),a/10:a,0);}f(a,b){b>a&&f(a,b-1);b%8?printf("%d",b):s(b,0);printf(" ");} flag:

say

Это довольно просто:
- /[!-\/:-~]/ creates a list of the numbers between the 2 inputs number. And then do{$_=chr rand 126}until/[!-\/:-~]/ повторяет его:
- xxx : the s%.%xxx%ge выполняются только в том случае, если $_ is a multiple of 8.
- ... : replace every character with $_%8||... .
- map pick a random character (from codes 0 to 126) until we get one that satisfies <>..<> , т.е. тот, который можно распечатать и не является цифрой.
- perl -E 'map{$_%8||s%.%do{$_=chr rand 126}until/[!-\/:-~]/;$_%ge;say}<>..<>' <<< "8 16" : print it.

 

Sweetefep65


Рег
25 Oct, 2024

Тем
73

Постов
196

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

С (ГКК), 129 119 байт

-E

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

129 → 119 Используйте map{$_%8||s%.%do{$_=chr rand 126}until/[!-\/:-~]/;$_%ge;say}<>..<> trick from О.О.Баланс

Негольфед:

~ ||answer||

С, 157 115 байт

!

Попробуйте онлайн здесь. Благодаря jxh для игры в гольф 42 байта.

Негольфированная версия:

grep(/\D/, "!" .. "~").pick ||answer||

Java 10, 149 147 байт (лямбда-функция)

S:g/./{ }/

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

Java 10, 227 225 байт (полная программа)

$_ % 8 ?? $_ !!

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

Объяснение:

{ map { }, $^a .. $^b } ||answer||

APL (расширенный диалог), 32 байта

{map {$_%8??$_!!S:g/./{grep(/\D/,"!".."~").pick}/},$^a..$^b}

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

Огромное спасибо Адаму и дзайма за их помощь. Впервые использую Dyalog Extended!

Объяснение:

jm?%d8dsmO-r\~\ jkUT`d}FQ # Auto-fill variables }FQ # Splat inclusive range on the input m?%d8d # Map over each number, if it isn't divisible by 8 return it smO `d # for each other number, select a character at random for each of it's digits and then flatten into one string r\~\ # Printable ASCII excluding space - jkUT # Setwise difference with numeric values (remove numbers) j # Join with newlines ||answer||

Встроенная версия

Скала, 132 байта

jm?%d8dsmO-r\~\ jkUT`d}F

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

Скала, 198 байт

Улучшенная функциональная версия с неизменяемым состоянием (04.03.2018)

&: % Input a and b (implicit). Push range [a a+1 ... b] " % For each k in that range @ % Push k 8\ % Modulo 8 ? % If non-zero @ % Push k } % Else 6Y2 % Push string of all printable ASCII chars 4Y2 % Push string '0123456789' X- % Set difference Xz % Remove space. Gives string of possible random chars @Vn % Push number of digits of k T&Zr % Random sample with replacement of that many chars from the string % End if, end for each, display (implicit)

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

Функциональное стилевое решение на Scala (350 байт)

&:"@8\?@}6Y24Y2X-Xz@VnT&Zr

ради удовольствия.

Предложения по улучшению приветствуются.

 

JohnKarmak


Рег
02 Feb, 2008

Тем
81

Постов
209

Баллов
624
  • 26, Oct 2024
  • #11
>./crazy8 8 8 $ >./crazy8 115 123 115 116 117 118 119 As_ 121 122 123 >./crazy8 1 16 1 2 3 4 5 6 7 " 9 10 11 12 13 14 15 x!

PHP, 163 байта

  • seq $@|sed "$[(7&(8-$1%8))+1]~8s/.*/a=&;apg -a1 -n1 -Mcsl -m\${#a} -x0/e" These are the ASCII codes for numbers, which are in the middle of special characters (32-47) and other characters (58-126).
  • $@ Using the $1 $2 Объяснение:
  • <pre id=O> Loop over the range of values from f=(x,y)=>(x+"").replace(/./g,d=>x%8?d:String.fromCharCode((q=Math.random()*84)+(q>15?43:33)))+(x<y?[,f(x+1,y)]:"") O.textContent = f(1,200) массив, исключите числовые символы и создайте массив допустимых символов ASCII. a,b are cmdline args; PA is string of all printable ASCII Fia,b+1 For i in range(a, b+1): P Print this: i%8?i If i%8 is truthy (nonzero), i; otherwise: { }Mi Map this function to the digits of i: @>PA All but the first character of PA (removes space) @`\D` Find all regex matches of \D (nondigits) RC Random choice from that list of characters The map operation returns a list, which is concatenated before printing (inclusive), as $v inside the loop.
  • Fia,b+1Pi%8?i{RC@>PA@`\D`}Mi Test for $v being evenly divisible by 8 using the mod operator f(a, b) .
  • f If not evenly divisible by 8, loop enough times for the number of digits in the number and print the characters (in the next step).
  • import random,string lambda a,b:[[x,eval('random.choice(string.printable[10:-6])+'*len(`x`)+`''`)][x%8<1]for x in range(a,b+1)] Print a single character from the acceptable array of ASCII values in STDOUT . import random,string def f(a,b): while b/a:print[a,eval('random.choice(string.printable[10:-6])+'*len(`a`)+"''")][a%8<1];a+=1 returns an index in the array, so we have to get the actual value at that index using sapply .

к intToUtf8() differently, and the loop to print the ASCII characters feels clunky so I'll continue to ponder how to shorten that.

Вероятно, я мог бы сделать это меньше, создав

 

Stetsula


Рег
09 Nov, 2011

Тем
68

Постов
207

Баллов
547
  • 26, Oct 2024
  • #12

postgresql9.6 251 символ

32...47, 58...126

очень длинный код, но postgresql тоже это делает.

8 ||answer||

форматированный sql находится здесь:КБИК

i=scan();x=i[1]:i[2];x[!x%%8]=sample(sapply(c(32:46,58:126),intToUtf8));x

, 79 байт <>"" for 20 bytes less:

Floor[Log10[a] + 1]

Пропуск чисел — дорогостоящее дело, вот версия, которая также может выбираться случайным образом. ... ~RandomChoice~⌊Log10@a+1⌋

Join[33~(c=CharacterRange)~47,58~c~127]

Пример вывода для

a ||answer||

Объяснение:, 17 05AB1E

/.a_?(8∣#&):>

байты {m, m + 1, m + 2, ... , n} , and outputs a list.

Принимает входные данные как Попробуйте онлайн или.

проверить все тестовые случаи

Range@## ||answer||

Объяснение:Япт

n

, 20 байт

m ||answer||

Попробуйте этоВперед (г вперед)

Range@##/.a_?(8∣#&):>Join[33~(c=CharacterRange)~47,58~c~127]~RandomChoice~⌊Log10@a+1⌋<>""&

, 128 байт

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

Объяснение

Прокрутите цикл от начала до конца, напечатайте число, если оно не кратно 8, в противном случае получите количество цифр в номере и напечатайте столько случайных символов, за которыми следует пробел.

h1: - range(lower, higher+1, 1) F - for i in ^: i8% - i % 8 ! - not ^ I - if ^: `l - len(str(i)) V - repeat V ^ times ~K - printable_ascii l7 - ^.strip() T> - ^[10:] H - random.choice(^) s0 - sum(^)

Объяснение кода

без гольфа

lower ||answer||

Обычно я не отменяю свои решения, но это достаточно длинное/сложное, и я думаю, что оно необходимо.PHP

higher

, 130 байт

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

h1:Fi8%!I`lV~Kl7T>Hs0 ||answer||

Негольфед:

for i in {$1..$2};{ # loop through the range ((i%8))&& # if the number is not divisible by 8 (i % 8 != 0), <<<$i|| # output it <<<` # otherwise, output the following: yes ' # using `yes' as a golfy loop shuf -e {\!..\~} # shuffle the range of printable ASCII (minus space) |grep "[^0-9]" # get rid of numbers |head -c1' # take the first character |head -$#i # obtain a string with that code repeated len(i) times... |zsh # ... and eval it `}

Котлин, 136 байт

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

 

CoKoЛ


Рег
05 Oct, 2006

Тем
77

Постов
219

Баллов
634
  • 26, Oct 2024
  • #13
Зш for i in {$1..$2};{((i%8))&&<<<$i||<<<`yes 'shuf -e {!..~}|grep "[^0-9]"|head -c1'|head -$#i|zsh`}

, 67 байт

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

Кажется довольно длинным, как и большинство ответов на этот вопрос.

 

Socdohod


Рег
01 Jul, 2021

Тем
83

Постов
188

Баллов
643
  • 26, Oct 2024
  • #14
import random,string def f(a,b): while b/a:print[a,eval('random.choice(string.printable[10:-6])+'*len(`a`)+"''")][a%8<1];a+=1

Питон 2, 180 байт

РЕДАКТИРОВАТЬ:

Спасибо @Flp.Tkc за то, что понял, что я неправильно прочитал задание.

Спасибо @Caleb за указание, что я мог бы использовать несколько, чтобы уменьшить количество байтов.

Спасибо @Dennis за указание на то, что числа включать нельзя.

РЕДАКТИРОВАТЬ 2:

Текущую версию, вероятно, можно было бы упростить еще больше, чем она есть.

 

Propellerhead


Рег
21 Jul, 2004

Тем
74

Постов
212

Баллов
622
  • 26, Oct 2024
  • #15
PowerShell import random,string def f(a,b):print`[random.choice(string.printable[10:95])for _ in`a`]`[2+a%8*b::5]or a;a<b<f(a+1,b)

, 82 89 байт

 

Kabanovmaks


Рег
18 Mar, 2022

Тем
74

Постов
183

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

Интересно