對在 C 語言中使用 srand 生成隨機數的方法的疑問

發布 科技 2024-06-10
4個回答
  1. 匿名使用者2024-01-29

    A:rand() 生成的數字是隨機的,但就個位數而言,是否隨機取決於你的取值範圍,比如取值範圍是 0-18,它們之間出現每個數字的概率是一樣的,但就個位數而言,9 的概率明顯小於其他數字。

    B:了解了上述問題後,它提出的解決方案是將取值範圍劃分為10段,每段對應0到9之間的乙個數字,如0-18,可以分成對應的數字0,對應的數字1,......

    rand() 返回 0-rand max(rand max > = 32767),這對於精度要求不高的程式來說概率差不大,可以這樣寫。

  2. 匿名使用者2024-01-28

    rand()%10 返回 0 9 表示總共 10 個段,這就是書中所說的 srand() 生成 10 個段。

    另外,這句話是對演算法的改進,因為你也知道 rand()%10 生成乙個個位數,也就是書中提到的低十進位數,隨機性不好,所以應該改成 rand()% (rand max 10)。

  3. 匿名使用者2024-01-27

    總結。 以下是使用 rand() 和 srand() 函式生成三個 [16, 64] 整數以確定是否存在兩個相等的數字**(C++ 語言)的示例: cppcopy 程式碼 include include using namespace std; int main() else return 0;在上面的**中,我們首先使用 srand(time(null)) 函式來設定隨機數種子,使得每次執行程式時生成的隨機數都不同。

    然後,使用 rand() 函式在三個 [16, 64] 之間生成隨機整數,以確定是否存在兩個相等的數字,最後輸出結果。

    使用隨機函式寬笨 rand( ) 和 srand( ) 生成三個 [16,64] 遮蔽整數,仔細伴隨這三個數字的輸出,確定這三個整數中是否存在兩個相等的數字,有輸出“是”,沒有輸出“否”。

    以下是使用 rand() 和 srand() 函式生成三個 [16, 64] 整數以確定是否存在兩個相等的數字**(C++ 語言)的示例: cppcopy 程式碼 include include using namespace std; int main() else return 0;在上面的**中,我們首先使用 srand(time(null)) 函式來設定隨機數種子,使得每次執行程式時生成的隨機數都不同。 然後,使用 rand() 函式在三個 [16, 64] 之間生成隨機整數,以確定是否存在兩個相等的數字,最後輸出結果為早期。

    親愛的,我看不出你發來的東西,如果你有任何問題,請用文字詳細描述,好嗎? 謝謝!

  4. 匿名使用者2024-01-26

    讓我們看一下下面對 rand() 和 srand() 的解釋。

    1.在標準 C 庫中,函式 rand() 可以在 0 rand max 之間生成乙個隨機數,其中 rand max 是 中定義的整數,與系統相關。

    該函式沒有輸入引數,由表示式 rand() 直接引用; 例如,您可以使用以下語句列印兩個隨機數:

    printf("random numbers are: %i %i",rand(),rand())

    因為 rand() 函式是按照指定的順序生成整數的,所以每次執行上述語句時都會列印相同的兩個值,所以 C 語言的隨機性並不是真正的隨機性,有時被稱為偽隨機性。

    3.為了讓程式在每次執行時為新序列生成乙個隨機值,我們通常通過向隨機數生成器提供新的隨機種子來做到這一點。 函式 srand() (可以從中播種用於隨機數生成器的種子。

    只要種子不同,rand() 函式就會產生不同的隨機數序列。 srand() 稱為隨機數生成器的初始值設定項。

    所以在你的第乙個例子中,種子不起作用。

    第二個例子是一般使用隨機數生成。

相關回答
11個回答2024-06-10

在 VC 中,有兩個函式可以設計為隨機數。

srand() and rand() >>>More

5個回答2024-06-10

方法一:使用srand函式; srand 函式可以以兩種不同的方式使用:直接輸入隨機數種子並使用系統時間初始化隨機數種子; >>>More

14個回答2024-06-10

1.隨機類的下乙個方法,在兩個整數之間生成乙個隨機數。 語法格式為: >>>More

13個回答2024-06-10

當然,你可以做計算。

#include >>>More

6個回答2024-06-10

審判部門 首先要介紹的當然不是"審判庭"僅此而已。 考慮到有些讀者是菜鳥,請解釋一下。 >>>More