學校練習,簡單的我就不放上來了,值得整理的,我儲存一下
習題91.1.偽隨機數(線性同餘法)
1.1.1.演算法描述
我們使用線性同餘法,來限定一些離散點在y=a*x+b上。
1.1.2.偽**
random(n,m,seed,a,b)
//根據現行同餘法生成
n個偽隨機書的乙個序列
//輸入
:乙個正整數
n和正整數引數
m,seed,a,b
//輸出
:隨機數組
r0<-seed
for i<-1 to n do
ri<-(a*ri-1+b) mod m
end1.1.3.演算法實現
public static long random(int n,int m,long seed,int a,int b){
long val=new long[n];
val[0]=seed%m;
for(int i=1;i
1.2.演算法小結
使用線性同於法,複雜度a[n],能實現比較類隨機的偽隨機。
偽隨機數產生的乘同餘法
我們都知道我們平常 所用的隨機數都是偽隨機數,大家是否想過我們的計算機能否產生真隨機數?其實,是可以的,比如使用物理方法 但是,所以,我們大多都偏愛了偽隨機數,下面,讓我們來了解偽隨機數到底是如何生成的。我們先設計乙個函式f x f x f x 也可以叫做遞推公式 然後給定x 1x 1 x1 輸出x...
線性同餘法生成為隨機數
線性同餘方法 lcg 是個產生偽隨機數的方法。它是根據遞迴公式 其中是產生器設定的常數。lcg的週期最大為 但大部分情況都會少於m。要令lcg達到最大週期,應符合以下條件 互質 的所有質因子的積能整除 若是4的倍數,也是 都比 小 是正整數。線性同餘演算法有m a c 和x0 4個引數,通過置xn ...
隨機數 偽隨機數
隨機數 偽隨機數 rand函式在產生隨機數前,需要系統提供的生成偽隨機數序列的種子,rand根據這個種子的值產生一系列隨機數。如果系統提供的種子沒有變化,每次呼叫rand函式生成的偽隨機數序列都是一樣的。srand unsigned seed 通過引數seed改變系統提供的種子值,從而可以使得每次呼...