Permainan Sevens dimainkan sebagai berikut: npemain duduk melingkar, dan mulai menghitung mulai dari 1, melewati ke kiri (atau dari pemain Ake pemain B).
Ketika angka pyang memiliki 7ATAU dapat dibagi dengan 7tercapai, maka pemain yang berbicara nomor p-1, setelah pemain berikutnya mengatakan p, harus mengatakan p+1dan urutan orang yang berbicara terbalik. Misalnya, jika pemain Bberbicara 6, pemain Cmengatakan 7, Bmengatakan 8, dan pemain Amengatakan 9.
Catatan: Bagi mereka yang ingin bermain dalam kehidupan nyata, jika seseorang lupa nomor (atau dalam versi sevensyang tidak disebutkan, secara tidak sengaja mengatakan a seven), mereka dihilangkan dari lingkaran, tetapi kami akan menghilangkan detail ini dari tantangan ini.
Tantangannya sendiri adalah mencetak angka yang harus diucapkan oleh setiap pemain dalam permainan Sevens yang sempurna hingga input muntuk npemain input .
Sebagai contoh, di mana lima orang, A, B, C, D, dan E, yang bermain sampai mereka mencapai 30. Mereka bermain dengan cara ini
A: 1 6 8 13 15 19 23 30
B: 2 7* 12 16 18 24
C: 3 11 17* 25
D: 4 10 21* 26 28*
E: 5 9 14* 20 22 27*29
dimana sevensditandai dengan *. Perhatikan bahwa pada 27dan 28, kami membalik dua kali, dan permainan berlanjut "seperti biasa" dari Dke E.
Harap dicatat bahwa output tidak harus dalam format di atas. Saya hanya mencetaknya seperti itu untuk kejelasan.
Aturan
Input adalah dua bilangan bulat dalam urutan apa pun,
mmewakili angka terakhir untuk diucapkan,nmewakili jumlah pemain.Output dapat berupa beberapa array atau beberapa string, satu untuk setiap pemain. Jika Anda menggunakan string, Anda tidak harus menggunakan pemisah (meskipun, jika Anda bisa menambahkan beberapa dalam tes kode Anda, kami sangat menghargai keterbacaan). Jika Anda benar-benar dapat mencetaknya dalam lingkaran, itu juga dapat diterima, dan itu akan sangat keren juga.
Output tidak harus menentukan pemain mana yang (cukup jelas bahwa pemain pertama adalah yang mengatakan
1), meskipun jika output tidak diurutkan untuk alasan apa pun, Anda harus memperjelas pemain mana yang berbicara set angka yang mana . Menghilangkan pemain yang tidak mengatakan apa-apa juga diperbolehkan jika Anda memperjelas pemain mana yang berbicara. Saya akan menambahkan beberapa contoh lagi kemungkinan keluaran di bawah ini.Ini adalah kode golf, sehingga jumlah byte terkecil menang.
Seperti biasa, jika masalahnya tidak jelas, beri tahu saya. Semoga berhasil dan bermain golf dengan baik!
Contohnya
>>> sevens_string(30, 5, " ")
'1 6 8 13 15 19 23 30'
'2 7 12 16 18 24'
'3 11 17 25'
'4 10 21 26 28'
'5 9 14 20 22 27 29'
>>> sevens_string(42, 5)
'16813151923303539'
'27121618243140'
'31117253241'
'410212628333742'
'591420222729343638'
>>> sevens_array(20, 3)
[1, 4, 7, 10, 13, 15, 19]
[2, 5, 9, 12, 16, 18]
[3, 6, 8, 11, 14, 17, 20]
>>> sevens_array(18, 10)
[1, 13, 15]
[2, 12, 16, 18]
[3, 11, 17]
[4, 10]
[5, 9]
[6, 8]
[7]
[]
[]
[14]

1 2 3 4 1 2 3 2 1 4 3 2 1 4 1). Saya tidak mengatakan itu lebih baik atau lebih buruk dalam hal dia menantang: hanya saja itu akan lebih berguna di dunia nyata.