Perl 5 , 52 + 1 ( -n) = 53 bajty

1

Wolfram Language (Mathematica) , 55 bajtów

""<>#&/@Union@Tuples[{#,ToUpperCase@#}]&@*Characters

Wypróbuj online!

jest operatorem transpozycji (i wyświetla się jako indeks górny T w Mathematica).

Martin Ender
źródło

Odpowiedzi:

1

Tcl, 165 181 bajtów

set n -1
while {[incr n]<1<<[llength [set s [split $argv {}]]]} {puts [join [lmap c $s b [split [format %0[llength $s]b $n] {}] {string to[expr $b?{u}:{l}] $c}] ""]}

Ulepszenia dzięki sergiolowi . Poprzednia odpowiedź:

set s [split $argv {}]
set n -1
while {[incr n]<1<<[llength $s]} {set r ""
foreach c $s b [split [format %0[llength $s]b $n] {}] {set r $r[string [expr $b?{tou}:{tol}] $c]}
puts $r}

Używa liczby binarnej do wybierania między dużymi / małymi literami podczas tworzenia tekstu wyjściowego.

Dúthomhas
źródło
165
sergiol
@sergiol To na tyle różni się od mojego, że powinieneś opublikować go jako własną odpowiedź i zdobyć uznanie za bycie niesamowitym.
Dúthomhas,
Nie. Zmieniłem tylko drobne części twojej odpowiedzi, nie zmieniłem podejścia ani podstawowych algorytmów, więc z mojego punktu widzenia myślałem, że nie zasłużyłem na stworzenie nowej odpowiedzi z twojego! I wątpię, czy mógłbym uzyskać krótki algorytm jak twój oryginalny do tego samego celu!
sergiol
1

Perl 5 , 30 bajtów

s/\pl/{\l$&,\u$&}/g;say<"$_ ">

Wypróbuj online!

Wyświetla dodatkową przestrzeń na końcu danych wyjściowych.

Dom Hastings
źródło
1

Attache , 39 bajtów

&Cross[Sum@V]##Unique@V#SwapCase=>Chars

Wypróbuj online!

Podobne do odpowiedzi w perlu. (Straciłem swoją bardziej interesującą alternatywę, powinienem je opublikować w ciągu kilku najbliższych godzin).

Conor O'Brien
źródło
0

JavaScript (ES6), 103

Obsługuje znaki spoza ASCII

(a,r=new Set)=>a?f(a.slice(1)).map(v=>(C=o=>r.add(a[0][`to${o}erCase`]()+v),C`Upp`,C`Low`))&&[...r]:[a]

Test

f=(a,r=new Set)=>a?f(a.slice(1)).map(v=>(C=o=>r.add(a[0][`to${o}erCase`]()+v),C`Upp`,C`Low`))&&[...r]:[a]

function test() { O.textContent = f(I.value).join('\n') }

test()
<input id=I oninput='test()' value='ž1a'>
<pre id=O></pre>

edc65
źródło