Lua之實現乙個隨機數搖號實現

2021-09-27 04:01:30 字數 1016 閱讀 7433

function sleep(n)

local t0 = os.clock()

while os.clock() - t0 <= n do

endendfunction outputtips()

print("搖獎正在進行中...")

for i=3,1,-1 do

local str = string.format("倒數%d...",i)

print(str)

sleep(1)

endendfunction getrandom()

local nvalue = math.random(1,3)

return nvalue

endfunction run()

math.randomseed(tostring(os.time()):reverse():sub(1, 7))--設定種子,保證每次呼叫math.random結果不一樣

local a,b,c

--第一位

a = getrandom();

--第二位

b = getrandom();

while b==a do

b = getrandom();

end--第三位

c = getrandom();

while c==a or c==b do

c = getrandom();

endoutputtips()

local strtmp = string.format("a中獎號碼為 %d\na中獎號碼為 %d\na中獎號碼為 %d\n",a,b,c)

print(strtmp)

endrun()

將此**複製到 三劍客.lua檔案中

執行:cmd下執行命令 lua c:\desktop\三劍客.lua

得到結果如下:

python實現乙個偽隨機數生成器

偽隨機數生成的方法有很多 1.平方取中法 2.線性同餘法 這裡介紹線性同餘法 公式 rnew a rold b end start 1.a稱為乘數,b稱為增量,end start 稱為模數,它們均為常數 2.然後設定rold rnew 一般要求使用者指定種子數rold 也叫seed 當然也可以自由選...

乙個隨機數生成函式

include include include 乙個隨機數生成函式 此函式不是基於用線性同餘法 標準庫中的rand 基於此方法 而是以乙個knuth提出的相減方法為基礎,速度比標準庫中的rand 要快,但不標準。staticlongg next 1 設定seed為任意負數值作為種子。voidrand...

如何產生乙個隨機數

大家可能很多次討論過隨機數在計算機中怎樣產生的問題,在這篇文章中,我會對這個問題進行更深入的 闡述我對這個問題的理解。首先需要宣告的是,計算機不會產生絕對隨機的隨機數,計算機只能產生 偽隨機數 其實絕對隨機的隨機數只是一種理想的隨機數,即使計算機怎樣發展,它也不會產生一串絕對隨機的隨機數。計算機只能...