Sevens oyunu şu şekilde oynanır: noyuncular bir daire içinde oturur ve soldan (veya oyuncudan Aoyuncuya B) geçen 1'den saymaya başlar .
Bir numara ne zaman pbir sahip 7o VEYA ile bölünebilir 7ulaşıldığında, ardından numarayı konuştu oyuncu p-1, sonraki oyuncu diyor sonra psöylemeliyim p+1ve bota konuşan insanların sırası. Örneğin, oyuncu Bkonuşursa 6, oyuncu Cdiyor 7, Bdiyor 8ve oyuncu Adiyor 9.
Not: Gerçek hayatta oynamak isteyenler için, eğer bir kişi bir sayıyı unutursa (veya sevenssöylenmeyen versiyonda , yanlışlıkla a der seven), çemberden çıkarılır, ancak bu detayı bu zorluktan çıkarırız.
Zorluk, her bir oyuncunun, Sevens'in mükemmel bir oyununda mbir girdi noyuncuları için bir girdiye kadar hangi sayıları söylemesi gerektiğidir .
Beş kişi, bir örnek olarak A, B, C, D, ve Eonlar ulaşana kadar oynamak için vardır 30. Bu şekilde oynarlar
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
nerede sevensile işaretlenmiştir *. Not o 27ve 28biz iki kez geri vites konum ve oyun dan "normal olarak" devam Detmek E.
Çıktının yukarıdaki biçimde olması gerekmediğini lütfen unutmayın. Sadece netlik için bu şekilde yazdırdım.
kurallar
Girdi, herhangi bir sırada iki tamsayıdır ve
msöylenecek son sayıyıntemsil eder, oyuncu sayısını temsil eder.Çıktı, her oyuncu için bir tane olmak üzere birkaç dizi veya dizge olabilir. Dizeler kullanırsanız, ayırıcılar kullanmanız gerekmez (yine de, kod testlerinize bazılarını ekleyebiliyorsanız, okunabilirliği takdir ederiz). Onları bir şekilde bir daireye yazdırabiliyorsanız, bu da kabul edilebilir ve çok güzel olurdu.
Çıktının hangi oyuncuların hangisi olduğunu belirtmesi gerekmez (ilk oyuncunun söylediği kişi oldukça açıktır
1), ancak çıktı herhangi bir nedenle sıralanmamışsa, hangi oyuncunun hangi sayı kümesini konuştuğunu netleştirmelisiniz. . Hangi oyuncuların konuştuğunu netleştirirseniz, hiçbir şey söylemeyen oyuncuların çıkarılmasına da izin verilir. Aşağıda olası çıktılara birkaç örnek daha ekleyeceğim.Bu kod golf, bu yüzden en az bayt sayısı kazanır.
Her zaman olduğu gibi, sorun net değilse, lütfen bana bildirin. İyi şanslar ve iyi golf!
Örnekler
>>> 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.) Bunun meydan okuma açısından daha iyi veya daha kötü olduğunu söylemiyorum: sadece gerçek dünyada daha yararlı olacağını söylemiyorum.