在一定範圍內生成隨機數

2021-08-08 13:34:33 字數 525 閱讀 8147

問題:給定乙個最小正整數和乙個最大正整數,如何在它們之間生成隨機數(包含上下界)?

1、它生成的隨機數範圍是[0, +∞);

2、它所使用數值的型別是uint32,並不是int,因此需要做型別轉換。

因為使用arc4random_uniform(_ : )函式生成的隨機數不包含上界,但是我們的題目要求包含上界,所以在上下界相減時需要加1,以確保程式通過:

func challenge(min: int, max: int) -> int 

challenge(min: 2, max: 30)

最後再給乙個隨機顏色的**。我們可以考慮給uicolor寫乙個擴充套件,將隨機顏色的**寫在它的擴充套件中,這樣使用的時候回比較方便:

extension uicolor 

// 隨機顏色

class func randomcolor() -> uicolor

}

C 生成一定範圍內固定個數的隨機數

隨機數 在某次產生過程中按照實驗過程中表現的分布概率隨機產生的,其結果是不可 的,是不可見的。一般使用的是偽隨機的。常使用函式rand 產生隨機數,但是隨機數值的範圍在0至rand max 間,rand max與使用資料型別有關。int randnum 10 for int i 0 i randnu...

C 中產生一定範圍內的隨機數

如果讓你用c 來生成0 n 1之間的隨機數,你會怎麼做?你可能會說,很簡單,看 srand unsigned time null rand n 仔細想一下,這個結果是隨機的嗎 當然,我們不考慮rand 函式的偽隨機性 不是的,因為rand 的上限是rand max,而一般情況下,rand max並不...

生成一定範圍的隨機數

include using namespace std const float maxweight 0.3 const float scaleweight 32767 void main 5.產生一定範圍隨機數的通用表示公式 要取得 a,b 的隨機整數,使用 rand b a a 要取得 a,b 的...