1 / * [37]図37は、プログラムの数と報告し
2 順序をアレンジする、N個の個別の円がある:タイトル。3人の報告一人称countin(1-3からの報告数)から、サークル、終了
3を 、誰最後に残った元号数を尋ねました。
4 * /
5
6 / * 分析1 ====エラー解析は、サークルから撤退するの通知がありません!!!
7 * 1,1によってNの格納された配列は、先頭からのパケット数
8 * 2、カウンタ文は、パケットの数が3で、アレイ内の数は0割り当てられ、カウンタがリセットされる
9 * 3、それまで残っています最後の番号は下付き数字の1がオリジナルのプラスいくつかの数字で、ゼロではない
10 *
11 *分析:----出口に人々の使用ArrayListを、アウト
12 * 1、1-nのテーブルを格納しますで
13 * 2、直接アウト3(モジュロ3の)の報告する
14 人の残りの部分は、ゲームが終わったとき、それは自分の番号が番号の先頭でだ、* 3
15 * * /
16
17
18
19 パッケージ変更について宿題、
20は
21である インポート; java.util.LinkedList
22は インポート、java.util.Listに
23である インポートjava.util.Scanner;
24
25 パブリック クラス_37 {
26である
27 公共 静的 ボイド{メイン(文字列[]引数)
28 // からキーボードはN-のゲームに関わる人々の総数取得
29 :System.out.printlnは(「エンクロージャの合計数を入力してください」;)
30 スキャナSC = 新しい新しいスキャナ(System.in); // スキャナ
31 int型のn-sc.nextInt =を( ); // N-得た
32 sc.close(); // 閉じるスキャナ
33である のSystem.out.println( "最後に残った元である:" +ゲーム(N)+ " 番号" );
34である
35 }
36
37 // ゲーム機能
38 パブリック 静的 int型ゲーム(INT N-){
39 のintカウンタ= 3 ;
40 リスト<整数> =一覧新しい新しい LinkedListの<> ();
41である ため(INT I = 1; I <= N; I ++)List.add(I) ; // ループの割り当て初期位置。1から始まります。
42は、 INTインデックス= 1; // インデックスは、0から始まり-1初期化、
43 一方、(。はlist.size()> 1 ){
44であり ;指数=(インデックスカウンタ+)%のはlist.size()// モジュロの総数。インデックス+キー、各々が数字キー(3)の数を表し
45 ; list.remove(インデックス)// 現在の要素を削除するには、添え字-1。
46である }
47 リターン List.get(0); // 戻り値元の数の最後の要素。
48 }
49
50
51です }