9.24脳ハンズオン

あなたはそれについて特別であるものを見つける、次のコードを考えてみましょうか?

 

 このコードは、同じ出力内の2関数名に、オーバーロードされた関数を定義するが、結果はランニングと同じではありません。

 

数(例えば、1000)を指定する整数の乱数を生成するために、上記のアルゴリズムを使用して、方法を書きます。

 

 

モジュラス= 231-1 = int.MaxValue乗数= 75 = 16807 C 231-2を介して表示の数は、それを繰り返すことができる= 0。

パブリッククラスsuiji
{
プライベート静的最終int型N = 200。
プライベート静的最終int型LEFT = 40;
プライベート静的最終int型RIGHT = 10000;
プライベート静的長いX0 = 1L;
プライベート長いA = 1103515245L;
プライベート長いC = 12345L。
プライベート長いメートル= 2147483648L;

//は、乱数生成
プライベートロングRAND(R&LTロング)
{
// A、C、Mは定数である
。@ 1 = Xnの+(C + AXN)MOD mは、R&LT =(R&LT *のA + C)%mは
戻りR&LTと、
}

〜* Bとの間の乱数を表し
プライベートロングリトル(int型、int型B、ロングRAND)を
{
- RANDの%のA +(A + 1 B)を返します;
}

プライベートボイド再帰(int型の数、ロングランド)
{
場合(カウント> = N)
{
返します。
}
ランド=ランド(RAND)
長いR =少し(LEFT、RIGHT、ランド)。
System.out.print(R + "「)。
再帰(++数、ランド);
}

パブリック静的無効メイン(文字列[] args)
{
suijiが再発=新しいsuiji()。
recur.recursion(0、X0)。
}
}

 

おすすめ

転載: www.cnblogs.com/2940500426yingxin/p/11604624.html