Dalam dadu standar (mati) angka-angkanya diatur sehingga wajah yang berlawanan menambah tujuh. Tuliskan program sesingkat mungkin dalam bahasa pilihan Anda yang menghasilkan lemparan acak diikuti oleh 9 tip acak. Tipping adalah seperempat putaran dadu, misalnya jika dadu menghadap ke 5, semua kemungkinan tip adalah 1,3,4 dan 6.
Contoh output yang diinginkan:
1532131356
code-golf
random
repeated-transformation
steenslag
sumber
sumber
JavaScript (71 karakter)
Anda mungkin perlu mengganti
print
denganalert
atau sesuatu yang lain, tergantung pada lingkungan JavaScript Anda.sumber
GolfScript, 28
sumber
Pesta
kode sampel: http://ideone.com/CCfro
sumber
((var=expression))
sangat bagus - saya pikir cara terpendek adalahvar=$((expression))
Tapi mengapa Anda menggunakannya sekali saja dan membuang banyak karakter pada expr di backticks?R,
5652sumber
Bash dengan hanya satu loop:
100 99 9896http://ideone.com/XrZO7
Gagasan utamanya adalah untuk memilih angka acak dalam [1, x] yang tidak sama dengan y Anda dapat memilih angka acak di [1, x-1] dan kemudian meningkat jika itu> = y. Untuk masalah ini kami ingin angka acak dalam [1,6] yang tidak sama dengan f atau 7-f. Kita harus melakukan dua tes dalam urutan min (f, 7-f), max (f, 7-f).
Dengan asumsi lingkungan yang awalnya kosong dapat menghemat 2 karakter dengan tidak menginisialisasi i dan mengubah kondisi loop menjadi
i++<10
sumber
Bash:
97 94 92 90 8987Sangat bermain golf dari jawaban Aman ZeeK Verma:
http://ideone.com/QiuTx
NB bisa dikatakan menyusut sebanyak 5 karakter dengan mengubah baris pertama menjadi
for((;i++<10;))
tetapi itu membuat asumsi yang tidak selalu valid. Ini akan bekerja ok di ideone tetapi seseorang yang menjalankannya dari shell bisai
atauf
diekspor ke sesuatu yang bukan nol.sumber
man bash
, saya merekomendasikannya. Saya pernah membacanya dari depan ke belakang, dan hanya memiliki gagasan yang samar tentang apa yang mungkin dan layak dicari telah membantu saya dengan baik.Windows PowerShell, 45
Cukup sepele, sebenarnya. Saya membuat daftar kemungkinan gulungan dadu
1..6
dan kemudian memilih hanya yang tidak sama dengan tujuh dikurangi gulungan terakhir dan kemudian hanya mereka yang tidak sama dengan gulungan terakhir. Dari daftar yang tersisa saya kemudian memilih item acak dan menugaskannya$d
. Karena$d
awalnya diperlakukan sebagai0
gulungan mati normal pertama kali.Skrip uji:
Sejarah:
sumber
The term 'random' is not recognized as a cmdlet, function, operable program, or script file. Verify the term and try again.
Get-Random
cmdlet tidak ada di v1.J
Ini seharusnya bekerja tetapi sayangnya generator acak J macet setelah iterasi ke-3:
6 4 5 4 5 4 5 4 5 4
sumber
(?4)
cenderung digulung sekali dan diperlakukan sebagai konstanta untuk iterasi selanjutnya jika Anda tidak berhati-hati mengatasinya. Saya mengatasinya menggunakan(?@4:)
konstruksi seperti.Rubi
66 karakter
sumber
J, 30 karakter
6 2 3 5 4 2 4 1 3 6
Penjelasan (baca dari kanan ke kiri):
?6
mengembalikan angka acak antara 0 dan 5^:(<10)
menerapkan fungsi 9 kali, mengumpulkan hasil sepanjang jalan. Fungsinya adalah:?@4:{(i.6)-.],5&-
] , 5&-
mengembalikan array nomor input dan komplemennya ke 5 (saat ini kami menangani angka 0, sehingga jumlah wajah yang berlawanan adalah 5)(i. 6) -.
menghapusnya dari set penuh bilangan bulat 0 hingga 5. Kami dibiarkan dengan semua posisi yang valid setelah satu operasi tip dari posisi input.?@4: {
mengambil salah satu dari mereka secara acak.>:
menambah seluruh urutan untuk mengembalikan angka ke interval 1 hingga 6.sumber
GS2, 16 byte
Begini cara kerjanya
sumber
QBasic (71 karakter)
Dua baris baru diperlukan dan dimasukkan dalam jumlah karakter masing-masing sebagai satu karakter.
sumber
TI-BASIC,
3834Solusi membosankan, tetapi lebih pendek dari revisi sebelumnya. Saya mengambil keuntungan dari kenyataan bahwa pada kalkulator baru,
Ans
diinisialisasi ke nol.sumber
Java 8, 130 byte
Coba di sini.
Sebagai program lengkap dengan metode utama verbose, ini akan menjadi 178 byte :
Coba di sini.
Semi-port dari jawaban Bash @AmanZeeKVerma .
Penjelasan:
sumber
MATLAB 58 byte
sumber
> <> , 71 byte
Saya senang saya bisa menampilkan
x
pengacakan kode-penunjuk >> karena saya tidak ingat melihatnya di sini.Anda dapat mencobanya pada juru bahasa online ini (tempel kode, kirim, mulai).
sumber
R , 67 byte
Cobalah online!
Ada jawaban golf R tetapi ini saya pikir pendekatan yang berbeda dari jawaban yang diajukan sejauh ini.
sumber
05AB1E , 23 byte
Pasti bisa bermain golf, tapi saat ini saya tidak melihatnya ..
Cobalah online.
Penjelasan:
sumber