操屁眼的视频在线免费看,日本在线综合一区二区,久久在线观看免费视频,欧美日韩精品久久综

新聞資訊

    常工作中,需要使用隨機數的場合很多。做實驗時,可能需要一些隨機數來作測試;不少產品商家需要給產品配上隨機序列號,或給VIP用戶卡分配隨機卡號。那么,在Windows環境下,如何才能自動生成滿足需要的隨機數呢?

    1. 特定區間普通隨機數的生成

    如果在進行實驗時,需要生成一個特定區間內的隨機數,首先可以通過我們所熟悉的Excel軟件來創建。主要利用RAND和RANDBETWEEN兩個函數來實現。

    例如,需要生成0到1區間內的隨機數,可使用函數“=RAND()”來實現;要生成0到10之間的隨機數,可使用函數表達式“=RAND()*10”;若需要1到10之間的隨機數,要用表達式“RAND()*(10-1)+1”。同樣地,若需要0到100之間的隨機數,使用“RAND()*100”函數表達式;1到100之間的隨機數,使用“RAND()*(100-1)+2”函數表達式(圖1)。



    我們注意到,上述隨機數都是小數。那么,如果要生成整數怎么辦呢?有兩種辦法,一個是對生成的小數隨機數取整,一個是直接生成整數隨機數。第一種例如在表達式“RAND()*(100-1)+2”的基礎上外加TRUNC()函數,生成1到100之間的隨機整數,整個表達式表述為“=TRUNC(RAND()*(100-1)+2)”;第二種則可以直接使用RANDBETWEEN()函數,用表達式“=RANDBETWEEN(0,10)”生成0到10之間的隨機整數,表達式“=RANDBETWEEN(50,9999)”生成50到9999之間的隨機整數(圖2)??梢?,RANDBETWEEN()函數用起來更形象,也更簡單。



    如果覺得上述方式生成區間隨機數比較麻煩,可利用第三方工具軟件實現。比如使用Random Number Generator,可以很方便地進行隨機數區域設置和條件限定,從而自動生成滿足條件的隨機數。

    軟件運行后,在左側上方Interval from后的兩個框中輸入隨機數生成的范圍值,在Digits after decimal point后輸入截取的小數位,在Number of digits to generate后輸入每次生成的隨機數個數。之后,點擊Generate integer按鈕即可生成指定數量的隨機整數,點擊Generate decimal則生成相應的隨機小數(圖3)。



    隨機數的生成條件設置之后,建立隨機數的操作還可以用快捷鍵來完成。按下功能鍵F1可以建立指定范圍的整數,按下F2生成指定范圍的小數,按下F4則清除隨機數列表。如果要生成大量的隨機數,要從中找到一個特定的隨機數是否存在,可使用Find按鈕進行查找,找到后自動定位到該隨機數(圖4)。若中途要停止隨機數的生成,可按下Esc鍵。



    小提示:如果要求生成不重復的隨機數,請選擇Next random number does not equal current復選框。如果要復制生成的某個隨機數或隨機數列表,用軟件窗口左下角的幾個按鈕來操作即可。

    2. 特定格式產品序列號的生成

    作為產品生產商家的工作人員,要給自己的軟硬件產品編排序列號,或者銷售商要給客戶VIP卡配置序列號,也可以用兩種方法來實現。

    首先,可以使用Excel的隨機函數表達式。假設要生成形如“123-456”這樣的由兩段三位數字和連字符組成隨機數序列號,可以使用“=RANDBETWEEN(100,999)& " - " &RANDBETWEEN(100,999)”函數表達式。其中的“&”符號連接前后結果,而“-”表示以指定連字符連接前后兩段隨機數。

    依此類推,如果要生成由四段六位數字組成的隨機序列號,可使用“=RANDBETWEEN(100000,999999)& " - " &RANDBETWEEN(100000,999999)& " - " && " - " &RANDBETWEEN(100000,999999)& " - " &RANDBETWEEN(100000,999999)& " - " &RANDBETWEEN(100000,999999)& " - " &RANDBETWEEN(100000,999999)”函數表達式(圖5)。



    序列號的生成還可以使用第三方專用工具,如Portable Abluescarab Software CD-Key Generator軟件。首次使用該軟件彈出提示,需要進行參數配置,配置參數主要有序列號的段數和每段的字符數兩個參數(圖6)。



    進入序列號生成器的主窗口后,先通過下拉列表,在使用數字、字符、數字+字符3種方式中選擇一種,再通過下面的復選框選擇是否使用小寫字母,然后點擊Generate按鈕,即可建立一組序列號(圖7)。



    小提示:雖然該軟件為CD-Key而設計,但生成其他產品序列號同樣適用。

    機數是一個事先不確定的數,在隨機安排順序、隨機抽獎或是生成隨機測試數據時,都需要使用隨機數進行處理。RAND 函數和 RANDBETWEEN 函數都能夠生成隨機數。

    示例 從題目庫中隨機抽取題目

    5-75 展示了某學校教學題庫的部分內容,需要從“題庫”工作表中隨機抽取部分題目,對學生進行考核評測。

    圖5-75隨機抽取題目

    步 驟 1在“題庫”工作表的 C2 單元格中輸入以下公式生成一組隨機數,將公式向下復制填充到數據表最后一行。=RAND()

    步 驟 2在“題庫”工作表的 D2 單元格中輸入以下公式得到隨機數的排名,將公式向下復制填充到數據表最后一行。=RANK(C2,$C:$C)此時的效果如圖 5-76 所示。

    圖5-76隨機數及其排名效果

    步 驟 3切換到“隨機題目”工作表,在 B2 單元格輸入以下公式,將公式向下復制填充到B6 單元格。

    =INDEX( 題庫 !B:B,MATCH(ROW(A1), 題庫 !D:D,0))

    圖5-77隨機提取題目

    步 驟 4在【公式】選項卡下,單擊【計算選項】下拉按鈕,在下拉菜單中選擇【手動】命令,如圖 5-78 所示。設置完成后,每按一次< F9 >鍵,即可得到不同的隨機題目。

    圖5-78設置手動重算

    在“題庫”工作表中,使用了 RAND RANK 兩個函數。RAND 函數不需要參數,可以隨機生成一個大于等于 0 且小于 1 的小數,而且產生的隨機小數幾乎不會重復。

    RANK 函數的作用是返回數字在列表中的排名,函數語法如下。

    RANK(number,ref,[order])

    第一參數是要進行排名的數字。

    第二參數是對數字列表的引用,其中的非數字值會被忽略。

    第三參數可選,以數字來指定數字排位的方式。如果該參數為 0(零)或省略,表示將列表中的最大數值排名為 1。如果該參數不為零,則將列表中的最小數值排名為 1。

    使用 RANK 函數排名時,如果出現相同數據,并列的數據也占用名次,比如對 5、5、4進行降序排名,結果分別為 1、1 3。

    本例中,先使用 RAND 函數在每一道題目后生成一個隨機數,然后使用 RANK 函數計算該隨機數在列表中所有隨機數的排名結果,相當于給每道題目都添加了一個隨機變化的序號。

    “隨機題目”工作表 B2 單元格使用的公式如下。=INDEX( 題庫 !B:B,MATCH(ROW(A1), 題庫 !D:D,0))

    公式中使用了 INDEX 函數、MATCH 函數及 ROW 函數的組合。ROW 函數的作用是返回參數的行號,函數語法如下。

    ROW([reference])

    ROW 函數的參數可選,用于指定要得到行號的單元格或單元格區域。如果省略參數,將返回公式所在單元格的行號。

    本例“隨機題目”工作表中 B2 單元格的公式中, ROW(A1) 的作用是得到 A1 的行號 1,當公式向下復制時,參數會依次變成 A2,A3,A4…最終得到從 1 開始的連續遞增序號。

    再以 ROW 函數得到的序號作為 MATCH 函數的查詢值,在“題庫”工作表 D 列中查找出該序號的位置,最后使用 INDEX 函數返回“題庫”工作表對應位置的信息。

    按< F9 >鍵的目的是刷新工作表,工作表每次刷新,RAND 函數結果都會自動變化,“題庫”工作表中 D 列的排名結果也會隨之變化。MATCH 函數在隨機變化的排名結果中查詢序號的位置,再把序號的位置信息用作 INDEX 函數的參數,從而實現隨機抽取題目的效果。

    使用 RANDBETWEEN 函數能夠生成指定范圍的隨機整數。

    示例 5-52 制作數學加減計算題

    圖5-79展示的是一份使用 RANDBETWEEN函數制作的數學加減計算題,每按 一次< F9 >鍵,即可得到不同的隨機數據。

    圖5-79隨機生成數學加減題

    步 驟 1A1 單元格輸入以下公式,向下復制填 充到 A9 單元格。=RANDBETWEEN(IF(B1="-",C1,1),10)

    步 驟 2 B1 單元格輸入以下公式,向下復制填 充到 B9 單元格。=MID("+-",RANDBETWEEN(1,2),1)

    步 驟 3 C1 單元格輸入以下公式,向下復制填 充到 C9 單元格。=RANDBETWEEN(1,10)

    步 驟 4D1 單元格輸入等號“=”,向下復制填充到 D9 單元格。

    步 驟 5在【公式】選項卡下依次單擊【計算選項】→【手動】命令按鈕。設置為手動計算后,可以按< F9 >鍵使公式重新計算。

    RANDBETWEEN 函數的語法結構如下。

    RANDBETWEEN(bottom,top)兩個參數分別為下限和上限,用于指定產生隨機整數的范圍,最終生成一個大于等于下限值且小于等于上限值的整數。

    B1 單元格公式為例,先使用 RANDBETWEEN 函數產生 1~2 的隨機數,結果作為MID 函數的第二參數。MID 函數在字符串”+-”中,從隨機位置開始提取出一個字符,結果用作算式中的運算符號。

    A1 單元格公式中,RANDBETWEEN 函數的第一參數使用 IF(B1="-",C1,1),如果 B1單元格的運算符號為減號“-”,生成隨機數的下限值使用 C1 單元格的數值,否則使用 1。該部分的作用是當B1運算符為減號時,能夠使A1單元格的被減數不會小于C1單元格的減數。

    C1 單元格公式的作用是生成 1~10 的隨機數。

    注意:使用 RAND 函數和 RANDBETWEEN 函數生成的隨機數,指的是在指定范圍內的任意數字。如果使用多個公式批量生成隨機數,有可能會得到重復的數字。

    END

    推薦閱讀
    北京大學出版社
    Excel數據處理與分析應用大全

    一看,電子游戲、賭博、密碼學似乎彼此之間毫無關系,但實際上,它們都使用“隨機數”,沒有隨機數就無法建立現代人的生活。本文將解釋計算機如何生成這樣的隨機數。

    生成隨機數比你想象的要難得多!

    例如,如果你想在編程中使用隨機數,Ruby中使用諸如“rand”或Python 中使用“random()” 之類的方法。此時生成的是通過計算獲得的偽隨機數,而不是完全隨機數。

    首先,計算機是“輸入數據并輸出數據”的邏輯機器,為了使計算機生成隨機數,它需要數據作為隨機數的來源。這個隨機數的來源是什么數據取決于隨機數生成器,隨機數生成器主要有兩種類型。

    一種稱為“偽隨機數生成器(PRNG)”。要使用此 PRNG 生成數字,您需要兩個特定的數字,即“種子值”和“隨機數生成算法”。用于PRNG的隨機數生成算法包括'平方提取法','線性同余法','線性反饋移位寄存器'和'Mersenne Twister'。

    PRNG不能生成完美的隨機數,但它可以快速且廉價地生成看似隨機數。此外,如果制備特定的種子值,可以獲得再現性,因此測試操作也是一個很大的問題。這就是為什么PRNG經常用于游戲和編程語言中的隨機方法。

    但是,由于 PRNG 生成的數字的隨機性取決于種子值,因此還存在一個漏洞,即如果種子值泄露,可以預測數字的生成。實際上,卡巴斯基實驗室(一種安全軟件)中有一個密碼管理器示例,它在獲取種子值時遇到問題,并使隨機生成的密碼可預測。

    另一種就是“固有隨機數生成器(TRNG)”隨機生成作為隨機數源的數據。TRNG的特征是使用熵而不是種子值,種子值是一個特定的數字,可以生成更接近完美的隨機數。因此,TRNG用于數字賭博領域,如骰子,洗牌和輪盤賭。

    問題是如何使用熵作為隨機數源的數據,這要求構成計算機的部分是隨機的。TRNG通過使用諸如存儲器波動性和光電效應等量子現象,將物理噪聲轉換為數字1和0來產生高度隨機的數字。

    另一方面,TRNG的缺點是生成數字需要時間。此外,作為隨機數源的數據需要熵,因此空閑或新服務器無法創建與活動服務器一樣隨機的數據。

    由于PRNG和TRNG各有其弱點,因此可以在視頻游戲或賭博中毫無問題地使用,但不能用于密碼學領域,這需要很高的安全性,同時也需要速度。

    因此設計了“加密偽隨機”數字生成器(CSPRNG),它實現了PRNG的速度和TRNG的安全性。

    CSPRNG是一個生成器,它從“高質量的熵源創建種子值,并將其輸入到算法中以生成高度安全的隨機數”。簡而言之,CSPRNG是一種“使用TRNG生成PRNG種子值”的機制。/ Dev / random 在類Unix操作系統中使用,Linux使用這個CSPRNG。

    下次,當你玩視頻游戲,隨機播放音樂或在編程中撥打隨機號碼時,也許你可以想一想計算機中發生了什么。

網站首頁   |    關于我們   |    公司新聞   |    產品方案   |    用戶案例   |    售后服務   |    合作伙伴   |    人才招聘   |   

友情鏈接: 餐飲加盟

地址:北京市海淀區    電話:010-     郵箱:@126.com

備案號:冀ICP備2024067069號-3 北京科技有限公司版權所有