Bu sitede , bu soruya benzer bir soru var, ancak bir twist ekledim.
Sen üç girişe sahiptir, çevrede bulunan kişi sayısı n , k -inci kişi her adımda dışarı sayılır ve q -inci kişi yaşayıp yaşamayacağını söyledi. Çemberdeki insanlar 1 ile n arasında numaralandırılmıştır .
Örneğin, 20 kişiden oluşan bir dairede, hayatta kalan 20. kişi, ilk çıkarılan kişi, 19. kişi ise ikinci çıkarılan kişi vb. Normal olarak, Josephus sorunu , burada ilk kurtulan olarak adlandırılan en son çıkan kişiyi belirlemektir .
Bu üç girişli, sayısını verir, kısa programı veya fonksiyon Yazın q, hayatta kalmak için inci kişi.
Netlikle ilgili herhangi bir sorun varsa, lütfen bana bildirin.
Bazı örnekler:
>>> josephus(20, 3, 9)
4
>>> josephus(4, 3, 1)
1
>>> josephus(100, 9, 12)
46
Düzenleme: Tüm girişlerin geçerli olduğunu varsayalım. Bu, hiç kimse 0 veya herhangi bir negatif sayı talep etmeyecek ve hiç kimse, 20 kişinin hayatta kalanını 5 kişilik bir çevrede istemeyecek (yani, ≤ q ≤ n)
Düzenleme: 2 Aralık başında UTC + 7 gece yarısı bir cevap kabul edeceğim.
q=1
bu bağlantılı Josephus sorusuyla tamamen aynıysa, değil mi?