ただ、この問題の外観は本当に無知力で見て、白と、明るい兄の実装では、実際に消化できません
この記事の実装から学ぶ https://www.jianshu.com/p/aeedc8c3514a 次のように、私は白の方法を使用することができます
#ヨセフスの問題 #列の数、最後の残した人に、すべての3 1.13人、 PEOPLE_LIST = [] のための I における範囲(1、14。 ): people_list.append(I) を印刷(PEOPLE_LIST) #13のリスト関係者 フラグに1 = #1 スケール:人々をマークするために使用される、すなわち、本実施形態では、デキュー(1 - > - 2 - > 3> 1。。。) インデックス= 0 #の各リストの下付き数字を、ためヒト目盛りは動作を行う カウント= 0 #人々は、決定するためにループを終了するために用いてカウント しばらく数<12 : IFフラグ== 3 と PEOPLE_LIST [インデックス] = 0 :! #1 定規桁マーク3人0およびデキューで 印刷(PEOPLE_LIST [インデックス]、エンド= ' ') #人の列を印刷し PEOPLE_LIST [インデックス] = 0 COUNT + 1 = フラグ = 0 #それが(ゼロから再び、ラインルーラーの外にクリアされた後ときで隣の人1) フラグ= 1つの+ インデックス + = 1 IF:インデックス== 13 #は最後の人に継続する最初の人の後に戻ってインデックスに行くために 、インデックス= 0 を印刷() 印刷(PEOPLE_LIST)
ヨセフスのルールの単純な実装は、フォローアップを改善していきます。