Tugas Anda adalah membuat program yang menambahkan angka acak ke jumlah sebelumnya dalam showdown balap nomor pamungkas.
Setiap pembalap (kolom) mulai dari 0 dan menambahkan 1 atau 0 ke jumlah sebelumnya pada setiap langkah perlombaan sampai semua pembalap mencapai skor yang diperlukan untuk menang. Angka 1 atau 0 harus dipilih secara acak (definisi standar acak dapat ditemukan di sini ). Output akan menampilkan hasil balapan, dengan masing-masing kolom mewakili satu pembalap, dalam format ini:
>> racers:5,score needed:2
0 0 0 0 0 # all racers start at 0
+ + + + + # add
1 0 0 0 1 # random 1 or 0
= = = = = # equals
1 0 0 0 1 # sum
+ + + + +
0 0 0 0 1
= = = = =
1 0 0 0 2 # winner!
+ + + +
1 1 1 1
= = = =
2 1 1 1
+ + +
1 1 1
= = =
2 2 2 # losers
Catatan: hanya angka, +, dan = yang perlu dimasukkan dalam output.
Memasukkan
Program Anda akan menerima dua parameter berikut sebagai input:
- jumlah pembalap (kolom), yang harus lebih besar dari dua
- skor yang dibutuhkan untuk menang, yang harus lebih besar dari satu
Ini adalah kode-golf - program dengan byte paling sedikit menang.
Sunting: ada skor maks 9 yang tidak dapat ditegakkan - ini untuk menjaga integritas kolom. Juga, spasi antar kolom dapat dihilangkan dalam output.
Jawaban:
Jelly,
373633 byte3 byte berkat Dennis.
Cobalah online
Penjelasan
sumber
,‘X
(pasangan dengan n bertambah , pilihan acak). Di tautan utamaṫ2
dapat diganti denganḊ
(dequeue) dan”
dengan variabel⁶
.Pyth ,
3834 byteCobalah online!
sumber
TSQL,
367345341 byteGolf
Cobalah online
Tidak Disatukan:
Perhatikan bahwa seed acak di lokasi pengujian akan selalu sama, memberikan hasil yang sama setiap kali, dalam manajemen studio akan memberikan hasil yang berbeda. Dapat menggunakan nilai yang berbeda untuk pembalap dan tujuan untuk mendapatkan gambar yang berbeda
sumber
Python 3, 237 byte
Fungsi yang mengambil input melalui argumen dan mencetak ke STDOUT. Pendekatan ini memanfaatkan fakta bahwa output mengikuti siklus periode empat, dari bentuk '+ value = value', untuk semua pembalap. Dengan menggunakan modulo counter empat, daftar yang berisi nilai yang diinginkan untuk setiap langkah sebagai string dapat diindeks menjadi, dan hasilnya dievaluasi menggunakan fungsi eval Python.
Bagaimana itu bekerja
Cobalah di Ideone
sumber
Python 2 , 191 byte
Cobalah online!
Python 3 , 200 byte
Cobalah online!
sumber
Python 2, 278 byte
dimana r adalah no. pembalap dan w adalah skor untuk menang
Coba di sini!
sumber
Perl 5 , 150 byte
Cobalah online!
Input pertama adalah jumlah pembalap, kedua adalah skor yang dibutuhkan.
sumber