Tantangannya sederhana:
menghasilkan kata.
Spesifikasi:
- Kata harus dapat diucapkan.
- Ini didefinisikan sebagai "bergantian antara konsonan dan vokal."
- Konsonan adalah salah satu dari surat-surat berikut:
bcdfghjklmnpqrstvwxz
- Vokal adalah salah satu dari surat-surat berikut:
aeiouy
- Kata harus dibuat secara acak.
- Kata-kata harus dapat mengandung setiap konsonan dan vokal. (Anda tidak bisa hanya menggunakan
bcdf
untuk konsonan danaei
untuk vokal.) - Kata harus mengandung 10 huruf.
- Kode terpendek (dalam jumlah karakter) menang.
code-golf
random
natural-language
generation
Gagang pintu
sumber
sumber
echo buxitiwymu
teknis sesuai dengan spesifikasi. Saya yakinkan Anda, saya menghasilkan kata secara acak: Py
sebagai vokal, di mana Anda dapat menggunakanq
danx
, dan ketika Anda dapat menggunakan kombinasi dua huruf seperting
atauea
Jawaban:
GolfScript, 32 karakter
Jalankan secara online .
sumber
Ruby: 56 karakter
Output contoh:
sumber
'aeiouy'.chars
akan menjadi satu char lebih pendek.TypeError: can't convert Enumerator into Array
Python, 81
Semoga berhasil mengucapkannya.
sumber
:P
python grc.py | say
mesin saya. Terima kasih untuk idenya.COBOL, 255
Jadi saya sedang belajar COBOL saat ini. Menggunakan pertanyaan ini sebagai latihan. Mencoba bermain golf.
Ini 255 tanpa spasi putih terkemuka, dan 286 byte dengan.
Untuk apa nilainya, ini berjalan di Microfocus COBOL untuk VS2012, dan saya tidak tahu apakah itu akan berjalan di tempat lain.
sumber
APL (34)
sumber
JavaScript, 74
Tidak menghasilkan semua kombinasi, tetapi saya pikir semua konsonan dan vokal muncul.
JavaScript, 79
Lebih banyak versi "acak".
sumber
^0
?Math.random
memberikan float, kita perlu integer.^0
memotong nomor^
operator dalam JavaScript sebelumnya dan kurang mendengar tentang menggunakannya untuk memotong float. Terima kasih!^
Ruby:
7066 karakterContoh dijalankan:
sumber
10.times
satu char lebih sedikit.*10
->*4
, lewati*3
,rand 60
->rand 20
dan Anda telah menyimpan 3 karakter.R: 105 karakter
sumber
J (51)
sumber
Memproses,
100999387Setelah memeriksa pertanyaan ini lebih dekat, saya melihat itu tidak memerlukan output. Saya telah menyesuaikan ini sesuai.
sumber
Objective-C, 129
Dengan bantuan Daniero
(Saya suka menggunakan kecenderungan untuk operator (->)
sumber
Java AKA bahasa paling verbose yang pernah dibuat, 176 dengan bantuan Doorknob, Daniero dan Peter Taylor (terima kasih kawan!)
Tidak Terkumpul:
}
sumber
String a[]
keString[]a
(-1 karakter), ubahw W = new w();
kew W=new w();
(-2 karakter)f
dan gunakani%2
saja. Juga,for
loop dapat dipersingkat, dan Anda dapat meletakkan kedua string di dalam operator kondisional (juga, tidak perlu untuk parens di sini), dan gunakancharAt
di luar. Inilah semuanya, 195 CHARS, 38 DISELAMATKAN :import 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
Jika dijalankan dari konsol, output ditampilkan. Tampilan eksplisit akan menambah
alert(s)
8 karakter, masih lebih pendek dari solusi JS lainnya.Terima kasih C5H8NNaO4 dan Howard!
sumber
~~(###)
Anda dapat menulis###|0
yang menyimpan 4 karakter.Javascript,
1351229686 karaktersumber
PHP, 100 Karakter
sumber
Alat Unix: 73 byte
Dan waktu dijamin tidak berjalan :)
Satu-satunya masalah adalah bahwa string yang dihasilkan akan mulai dengan "vokal" setiap kali.
(edit: diubah
' '
menjadi''
dalam argumen tempel) (edit lain: dihapus -P dari opsi grep, terima kasih kepada manatwork )sumber
grep
parameter. Saya mendapat "of e ap ag ak".-a
sudah cukup.-P
adalah satu. Tampaknya pria itu memperingatkan tentang statusnya yang sangat eksperimental dengan suatu alasan. (grep
2.16) Tapi bagaimanapun, itu berfungsi dengan baik tanpa-P
.-P
. Saya akan mengedit jawaban saya.tr -d \\n
lebih pendek untuk bergabung dengan garis.Pyth, 26 karakter
Anda dapat mencobanya di kompiler online di sini.
Seseorang memposting tantangan yang sangat mirip tetapi ditutup setelah saya membuat solusi. Saya tidak menyadarinya, tetapi pertanyaan ini sebenarnya mendahului penciptaan Pyth. Bagaimanapun, ini adalah rinciannya:
Setiap kali loop dijalankan, J beralih dari daftar konsonan ke daftar vokal. Dengan begitu kita bisa mengambil surat acak dari J setiap kali.
Mungkin ada cara untuk menginisialisasi J dalam loop atau menghapus tugas eksplisit dari loop, tetapi saya belum berhasil dengan baik.
sumber
APL
3026Penjelasannya sangat mirip dengan versi sebelumnya di bawah ini, hanya memesan sedikit untuk golf solusinya.
Catatan: ⎕IO diatur ke 0
Penjelasan:
Tryapl.org
sumber
('AEIOUY'∪⎕A) ≡ (∪'AEIOUY',⎕A)
tapi satu byte lebih pendek.⎕A
menyimpan byte lain:,('EIOUY'∪⎕A)[6(|,+)⍪5?20]
PHP 79 byte
Cukup singkat.
sumber
C: 101
sumber
Javascript,
10487bermain golf banyak hal-hal sederhana yang tidak perlu, masih tidak sebagus yang copys '
Oh, dan yang baru saja bermain golf: "dydudelidu"
Sekarang saya mencoba satu menggunakan 2 karakter sekaligus pendekatan. Ternyata itu hampir sama dengan yang kedua copys, jadi saya tidak bisa menghitungnya, juga di 79.
a="";for(e=5;e--;)a+="bcdfghjklmnpqrstvwxz"[m=0|20*Math.random()]+"aeiouy"[m%6]
sumber
Brachylog , 9 byte
Cobalah online!
Memberikan output sebagai daftar huruf melalui variabel output.
sumber
F # , 166 karakter
sumber
K, 40 byte
5?"abc"
akan menghasilkan 5 huruf acak dari string yang diberikan.5?/:
akan menghasilkan 5 huruf acak dari masing-masing string di sebelah kanan, menghasilkan dua daftar.+
mentranspos kedua daftar itu, memberi kami daftar tupel dengan satu karakter acak dari daftar pertama dan kemudian satu dari daftar kedua.,/
is "raze" - menyatukan semua tuple secara berurutan.K5 dapat melakukan ini dalam 33 byte dengan membangun alfabet lebih cerdik dan kemudian menggunakan "kecuali" (
^
) untuk menghapus vokal, tetapi K5 terlalu baru untuk dianggap legal dalam pertanyaan ini:sumber
R, 83 byte
Hasilkan semua barisan konsonan-vokal yang mungkin dalam sebuah matriks, kemudian sampel secara acak 5 dari mereka, menghasilkan kata 10 huruf.
sumber
05AB1E , 10 byte
Cobalah secara online atau keluarann jumlah kata acak .
Penjelasan:
Cukup mudah:
sumber
Jelly , 13 byte
Penjelasan:
Cobalah online!
sumber