導航:首頁 > 編程語言 > js偽隨機數

js偽隨機數

發布時間:2023-07-22 05:35:02

『壹』 使用js Math.random()函數生成n到m間的隨機數字

摘要:
本文講解如何使用js生成n到m間的隨機數字,主要目的是為後期的js生成驗證碼做准備。
Math.random()函數返回0和1之間的偽隨機數,可能為0,但總是小於1,[0,1)
生成n-m,包含n但不包含m的整數:
第一步算出
m-n的值,假設等於w
第二步Math.random()*w
第三步Math.random()*w+n
第四步parseInt(Math.random()*w+n,
10)
生成n-m,不包含n但包含m的整數:​
第一步算出
m-n的值,假設等於w
第二步Math.random()*w
第三步Math.random()*w+n
第四步Math.floor(Math.random()*w+n)
+
1
生成n-m,不包含n和m的整數:
第一步算出
m-n-2的值,假設等於w
第二步Math.random()*w
第三步Math.random()*w+n
+1
第四步Math.round(Math.random()*w+n+1)
或者
Math.ceil(Math.random()*w+n+1)
生成n-m,包含n和m的隨機數:
第一步算出
m-n的值,假設等於w
第二步Math.random()*w
第三步Math.random()*w+n
第四步Math.round(Math.random()*w+n)
或者
Math.ceil(Math.random()*w+n)
例子:
生成800-1500的隨機整數,包含800但不包含1500
復制代碼
代碼如下:
1500-800
=
700
Math.random()*700
var
num
=
Math.random()*700
+
800;
num
=
parseInt(num,
10);
只需要簡單的四步就可以完成。
補充:
Math.ceil()
返回大於等於數字參數的最小整數(取整函數),對數字進行上舍入
Math.floor()
返回小於等於數字參數的最大整數,對數字進行下舍入
Math.round()
返回數字最接近的整數,四捨五入

『貳』 JS中,輸出1-10之間的隨機整數,用Math.random()咋搞呢

使用Math.floor(Math.random()*10+1)函數實現。

1、floor():返回小於等於x的最大整數。

2、函數返回一個浮點, 偽隨機數在專范圍[0,1),也就屬是說,從0(包括0)往上,但是不包括1(排除1)。實現將初始種子選擇到隨機數生成演算法,它不能被用戶選擇或重置。

實例演示如下:

1、html代碼如下,綁定生成函數:

『叄』 javascript 如何生成不重復的隨機數

Math.random()函數返回一個浮點, 偽隨機數在范圍[0,1)

得到兩數之間的隨機數:
functiongetRandomArbitrary(min,max){
returnMath.random()*(max-min)+min;}
得到一個兩數之間的隨機整數,包括兩個數在內:
functiongetRandomIntInclusive(min,max){
min=Math.ceil(min);
max=Math.floor(max);
returnMath.floor(Math.random()*(max-min+1))+min;

『肆』 我想問下關於偽隨機數學的問題

真正的隨機數是沒有辦法獲取的。所以,一般情況下都只能使用偽隨機數來模擬隨機過程。
一般的編程軟體,它的偽隨機數演算法都能保證產生的序列周期很大,通常都大於10的9次方。現在隨著計算機技術的演算法的研究發展,不少偽隨機數的周期已經遠遠大於這個數量級,甚至到了10的15到20次方。同時,偽隨機數產生的起點,也就是種子可以通過熱敏元件或者時間數據來產生,無法人為控制,使產生的數字序列更接近真隨機狀態。
因此,要掌握到演算法及其規律,並進行所謂預測,條件必須是指導演算法和種子。否則,即使是10的9次方的周期長度,按照老虎機按照每秒一次動作的速度來計算,也需要在老虎機上操作31年多,才能夠找到完整的周期規律。這在現實中是不可能的!

『伍』 js生成隨機數之random函數隨機示例

js生成隨機數可以使用JavaScript
Math.random()內置函數,下面有個不錯的示例,大家內可以嘗試操作下
JavaScript
Math.random()內置函數
random函數返回容值
返回0和1之間的偽隨機數,可能為0,但總是小於1,[0,1)
random函數示例
//返回隨機數
document.write(Math.random());
//返回10-20的隨機數
document.write(Math.random()*(20-10)+10);
//返回指定范圍的隨機數(m-n之間)的公式
document.write(Math.random()*(n-m)+m);
基於時間,亦可以產生隨機數
代碼如下:
var
now=new
Date();
var
number
=
now.getSeconds();
//這將產生一個基於目前時間的0到59的整數。
var
now=new
Date();
var
number
=
now.getSeconds()%43;
//這將產生一個基於目前時間的0到42的整數。

『陸』 怎麼用js做隨機點名

關鍵是隨機數的實現(偽隨機)
function myRand(start, end) {
return start + Math.round((Math.random() * (end - start)));
}
這個函數可以得到start到end之間(包括start和end)的隨機數,然後根據隨機數去點名

『柒』 求一個簡單的js代碼 隨機輸出0-10間的任意一個數!

功 能: 隨機數發生器 用 法: int random(int num); 程序例: #include #include #include /* prints a random number in the range 0 to 99 */ int main(void) { randomize(); 隨機數種子被初始化時
printf("Random number in the 0-99 range: %d\n", random (100)); return 0; } 注意: 在使用Random之前需要使用Randomize語句進行隨機數種子的初始化。 例如: var a,i,,j:integer; begin {RANDOMIZE;} for j:=1 to 2 do begin for i:=1 to 10 do begin a:=random(1000); writeln(a); end; writeln; end; end. 這兩組數據輸出的是一樣的結果,如果在程序前加上RANDOMIZE(即把大括弧去掉)再運行程序,輸出數據就不一樣了. RANDOM產生的是偽隨機數或者說是用一種復雜的方法計算得到的序列值,因此每次運算時需要一個不同的種子值。種子值不同,得到的序列值也不同。因此也就是真正的隨機數了。這也正是RANDOMIZE隨機初始化的作用。 VB里用 NEW RANDOM()來表示初始化。

閱讀全文

與js偽隨機數相關的資料

熱點內容
java穩定排序 瀏覽:53
oppo文件管理的圖片 瀏覽:335
plc編程步數怎麼計算 瀏覽:142
ipad看電腦文件 瀏覽:935
成都製作pdf文件 瀏覽:735
怎麼樣點開電腦裡面的網路連接 瀏覽:755
微信怎麼退出賬號 瀏覽:32
w微信開發者工具 瀏覽:325
資料庫還原附加 瀏覽:713
打包成exe執行文件 瀏覽:652
信豐營銷app有哪些 瀏覽:463
蘋果文件下載項如何下載 瀏覽:179
ps摳婚紗教程 瀏覽:203
如何在移動硬碟上隱藏文件夾 瀏覽:451
瑞虎8老車機怎麼刷app 瀏覽:992
學ui設計要學java嗎 瀏覽:275
淘寶票房數據源怎麼調整 瀏覽:470
iphone5s升級ios卡黑屏 瀏覽:622
u盤沒用的文件刪不了怎麼辦 瀏覽:561
文件夾解鎖工具 瀏覽:528

友情鏈接