Dari tantangan dalam buku pemrograman sejak dulu, PNZ adalah permainan di mana pengguna harus menebak tiga angka unik dalam urutan yang benar.
Aturan :
- Angka 3 digit acak tanpa digit berulang dihasilkan. (Inilah yang coba ditebak pengguna)
- Pengguna memasukkan perkiraan 3 digit, yang akan dievaluasi oleh program.
- Keluarkan "P" untuk setiap digit yang benar di tempat yang benar.
- Keluarkan "N" untuk setiap digit yang benar di tempat yang salah.
- Keluarkan "Z" hanya jika tidak ada angka yang benar.
- Lanjutkan menerima input hingga semua digit benar dan berada di tempat yang benar, lalu output "PPP" diikuti dengan jumlah tebakan yang diambil pada baris baru.
Catatan :
"Digit yang benar" berarti bahwa salah satu digit dalam tebakan juga merupakan salah satu digit dalam angka acak 3 digit.
"Tempat yang benar" berarti itu adalah "Angka yang benar" DAN berada di tempat yang sama dengan angka acak 3 digit.
Urutan keluaran harus semua "P" pertama, kemudian "N", atau hanya "Z" jika tidak ada yang benar.
Jika masukan berisi mengulangi digit, "P" mengambil prioritas di atas "N" (Contoh:
Number: 123
Input: 111
Output: P
)(OPTIONAL) Input yang panjangnya tidak tepat 3 digit tidak boleh dievaluasi, atau dihitung terhadap total tebakan
Contoh jika angka yang dihasilkan adalah 123
> 147
P
> 152
PN
> 126
PP
> 123
PPP
4
Contoh jika angka yang dihasilkan adalah 047
> 123
Z
> 456
N
> 478
NN
> 947
PP
> 047
PPP
5
Ini CodeGolf, jadi program terpendek menang!
sumber
Jawaban:
JavaScript (ES6) 184
187 195Edit Disimpan 8 byte thx @Neil Edit Disimpan 3 byte thx @ user81655
(baris baru dihitung sebagai 1 byte)
Uji
sumber
d.splice(v=Math.random()*-~l,1)
menghemat 5 atau bahkan 8 byte (dengan mengorbankan beberapa kinerja).PowerShell v2 +,
177231168 byteAnehnya, saya bisa membuat versi golf lebih pendek daripada versi tidak tetap ... oO
Terima kasih banyak kepada @ edc65 atas bantuan dan inspirasinya!
Penjelasan:
Contoh dijalankan:
sumber
R ,
178166 byteCobalah online!
TIO link hanya untuk jumlah byte - coba ini di konsol R Anda! (atau beri tahu saya jika ada opsi alternatif).
Lihat riwayat untuk versi yang kurang golf, lebih mudah dibaca.
sumber