Javaはヨセフの問題を解決するためにキューを使用しています

ジョセフの問題:

      一世紀のユダヤ人の戦争の公園での伝説は、ユダヤ人のヨセフは紀元1世紀の有名な歴史家でした。39人のユダヤ人とヨセフと彼の友人が洞窟に隠れ、ローマ占領Qiaotapateした後、39人のユダヤ人は敵によって捕獲されていないのではなく、死んdecided'd、および41の個々の行の古くから自殺の広がりを決めましたこれまで誰も自殺するまで、円の中に、最初の個人Countinは、人が自殺をしなければならないことをすべての第三者を報告し、その後、次の人によって再び数と報告しました。しかし、ヨセフと彼の友人がこの契約に準拠したくなかった、ヨセフは、彼が_最初に彼の友人で手配し、_ 1つの位置は、このゲームで死を免れ、あなたがアレンジ知るを遵守するふりをする彼の友人を望んでいましたさて、いくつかの最初の?

キューの実装:

パッケージorg.codewy.algorithm.josephusproblem。

輸入java.util.LinkedList;
輸入java.util.Queue。

パブリック クラスヨセフスの問題{ 
    
    公共 静的 ボイドメイン(文字列[]引数){ 
        キュー <整数>人= 新しいLinkedListの()。

        以下のためにint型 I = 1; I ++; iは42 < ){ 
            persons.add(i)を、
        } 

        int型のカウント= 0 ; 

        一方、(persons.size()> 2 ){ 
            カウント ++ 
            整数人 =persons.poll();
            もし(%3 == 0カウント{)
                のSystem.out.println( "ダイ" + 人)。
            } { 
                persons.add(人)。
            } 
        } 

        のSystem.out.println( "生きている:" + 人)。
    } 

}

出力:

 

おすすめ

転載: www.cnblogs.com/codewy/p/11779197.html