Wyzwanie jest proste:
wygenerować słowo.
Dane techniczne:
- Słowo musi być wymawiane.
- Jest to definiowane jako „na przemian między spółgłoską i samogłoską”.
- Spółgłoska to jedna z następujących liter:
bcdfghjklmnpqrstvwxz
- Samogłoska to jedna z następujących liter:
aeiouy
- Słowo musi być generowane losowo.
- Słowa muszą zawierać każdą spółgłoskę i samogłoskę. (Nie możesz używać tylko
bcdf
spółgłosek iaei
samogłosek). - Słowo musi zawierać 10 liter.
- Najkrótszy kod (pod względem liczby znaków) wygrywa.
echo buxitiwymu
jest technicznie zgodny ze specyfikacją. Zapewniam cię, wygenerowałem słowo losowo: Py
jak samogłoskę, gdzie możesz używaćq
ix
, a kiedy możesz używać dwuliterowych kombinacji, takich jakng
lubea
Odpowiedzi:
GolfScript, 32 znaki
Uruchom to online .
źródło
Rubin: 56 znaków
Przykładowe wyniki:
źródło
'aeiouy'.chars
byłby o jeden węgiel krótszy.TypeError: can't convert Enumerator into Array
Python, 81
Powodzenia w ich ogłaszaniu.
źródło
:P
python grc.py | say
na moim komputerze. Dzięki za pomysł.COBOL, 255
W tej chwili uczę się języka COBOL. Użyłem tego pytania jako pewnej praktyki. Próbowałem zagrać w golfa.
Jest 255 bez wiodących białych znaków i 286 bajtów z.
Co do tego warte, działa w Microfocus COBOL dla VS2012 i nie mam pojęcia, czy będzie działać gdzie indziej.
źródło
APL (34)
źródło
JavaScript, 74
Nie generuje wszystkich kombinacji, ale myślę, że pojawiają się wszystkie spółgłosek i samogłoski.
JavaScript, 79
Bardziej „losowa” wersja.
źródło
^0
za?Math.random
podaje liczbę zmiennoprzecinkową, potrzebujemy liczby całkowitej.^0
obcina liczbę^
operatora w JavaScript i rzadziej słyszałem o używaniu go do obcinania pływaka. Dzięki!^
Rubinowy:
7066 znakówPrzykładowy przebieg:
źródło
10.times
za jeden char mniej.*10
->*4
, pomiń*3
,rand 60
->rand 20
i zapisałeś 3 znaki.R: 105 znaków
źródło
J (51)
źródło
Przetwarzanie,
100999387Po bliższym zbadaniu pytania widzę, że nie wymaga ono żadnych wyników. Dostosowałem to odpowiednio.
źródło
Cel C, 129
Z pomocą Daniero
(Uwielbiam używać tendencji do operatora (->)
źródło
Java AKA najbardziej szczegółowy język, jaki kiedykolwiek stworzono, 176 z pomocą Doorknob, Daniero i Petera Taylora (dzięki chłopaki!)
Nie golfowany:
}
źródło
String a[]
naString[]a
(-1 znaków), zmianaw W = new w();
naw W=new w();
(-2 znaków)f
i użyji%2
zamiast tego. Ponadto,for
pętla może zostać skrócony, a można umieścić zarówno ciągi wewnątrz operatora warunkowego (także, nie ma potrzeby parens tutaj), i używaćcharAt
na zewnątrz. Oto całość: 195 CHARSÓW, 38import java.util.*;class w{public static void main(String[]a){Random r=new Random();for(int i=0;++i<11;)System.out.print((i%2>0?"bcdfghjklmnpqrstvwxz":"aeiouy").charAt(r.nextInt(6+(i%2)*14)));}}
JavaScript, 85
W przypadku uruchamiania z konsoli wyświetlane są dane wyjściowe. Jawne wyświetlanie dodałoby
alert(s)
8 znaków, wciąż krótszych niż inne rozwiązania JS.Dzięki C5H8NNaO4 i Howard!
źródło
~~(###)
możesz pisać,###|0
co oszczędza 4 znaki.JavaScript,
1351229686 znakówźródło
PHP, 100 znaków
źródło
Narzędzia uniksowe: 73 bajty
I nie gwarantujemy czasu działania :)
Jedynym problemem jest to, że generowany ciąg zaczyna się od „samogłoski” za każdym razem.
(edycja: zmieniono
' '
na''
w argumentach wklejania) (kolejna edycja: usunięto -P z opcji grep, dzięki manatwork )źródło
grep
parametrów. Dostałem „of e ap ag ak”.-a
że wystarczy.-P
to ten. Wygląda na to, że mężczyzna ostrzega przed bardzo wysoce eksperymentalnym statusem bez powodu. (grep
2.16) Ale tak czy inaczej, działa dobrze bez-P
.-P
w pierwszej kolejności. Zmienię swoją odpowiedź.tr -d \\n
jest krótszy do łączenia linii.Pyth, 26 znaków
Możesz spróbować w kompilatorze online tutaj.
Ktoś wysłał bardzo podobne wyzwanie, ale zostało zamknięte po tym, jak opracowałem rozwiązanie. Nie zdawałem sobie z tego sprawy, ale to pytanie faktycznie poprzedza stworzenie Pytha. W każdym razie oto podział:
Za każdym razem, gdy pętla jest uruchamiana, J zmienia się z listy spółgłosek na listę samogłosek. W ten sposób możemy za każdym razem wybrać losową literę z litery J.
Może istnieć sposób na zainicjowanie J w pętli lub usunięcie jawnych przypisań z pętli, ale nie udało mi się jeszcze z żadnym powodzeniem.
źródło
APL
3026Wyjaśnienie jest bardzo podobne do poprzedniej wersji poniżej, po prostu zmieniono nieco, aby rozwiązać golfa.
Uwaga: ⎕IO jest ustawione na 0
Wyjaśnienie:
Tryapl.org
źródło
('AEIOUY'∪⎕A) ≡ (∪'AEIOUY',⎕A)
ale jest o jeden bajt krótszy.⎕A
zaoszczędzenia kolejnego bajtu:,('EIOUY'∪⎕A)[6(|,+)⍪5?20]
PHP 79 bajtów
Dość zwięzłe.
źródło
C: 101
źródło
JavaScript,
10487grał w golfa wiele prostych, niepotrzebnych rzeczy, wciąż nie tak przyjemnych, jak te z gry Copys
Aha, a ten właśnie wpadł na pomysł podczas gry w golfa: „dydudelidu”
Teraz spróbowałem użyć dwóch znaków naraz. Okazuje się, że jest prawie taki sam jak drugi Copys, więc nie mogę go policzyć, również w 79.
a="";for(e=5;e--;)a+="bcdfghjklmnpqrstvwxz"[m=0|20*Math.random()]+"aeiouy"[m%6]
źródło
Brachylog , 9 bajtów
Wypróbuj online!
Podaje dane wyjściowe jako listę liter poprzez zmienną wyjściową.
źródło
F # , 166 znaków
źródło
K, 40 bajtów
5?"abc"
wygeneruje 5 losowych liter z podanego ciągu.5?/:
wygeneruje 5 losowych liter z każdego łańcucha po prawej stronie, tworząc dwie listy.+
transponuje te dwie listy, dając nam listę krotek z jednym losowym znakiem z pierwszej listy, a następnie jedną z drugiej listy.,/
jest „raze” - połącz wszystkie te krotki w sekwencji.K5 może to zrobić w 33 bajtach, budując alfabet bardziej sprytnie, a następnie używając „oprócz” (
^
), aby usunąć samogłoski, ale K5 jest zbyt nowy, aby być legalnym w tym pytaniu:źródło
R, 83 bajty
Wygeneruj wszystkie możliwe sekwencje samogłoskowo-spółgłoskowe w macierzy, a następnie losowo próbkuj 5 z nich, uzyskując 10-literowe słowo.
źródło
05AB1E , 10 bajtów
Wypróbuj online lub wydrukujn ilość losowych słów .
Wyjaśnienie:
Całkiem proste:
źródło
Galaretka , 13 bajtów
Wyjaśnienie:
Wypróbuj online!
źródło