當前位置:首頁 » 編程語言 » 真隨機c語言

真隨機c語言

發布時間: 2022-07-09 12:10:41

『壹』 c語言中能否產生真正的隨機數,如果可以的話,語句是什麼謝謝!

這是數學問題了。
可以理解的是,計算機作為通用圖靈機,只能儲存有限個狀態,在穩定運行的情況下,對於確定的輸入,輸出是確定的,無法實現「真正」的隨機性。
但是,日常情況下,需要隨機數時,可以用計算機實現。理由是計算機儲存的狀態是一個不確定的大的整數,利用某種偽隨機數演算法可以使輸入和輸出的關聯性被隱藏。這時候,盡管隨機數不是「真正」的,但是對於使用者來說,和「真正」的隨機數看上去並沒有什麼區別。
C語言庫函數提供偽隨機數演算法封裝的庫函數srand()/rand(),隨機性並不強。只要能自己表達出硬體無關(例如要求用量子計算機實現的就不算)的隨機性足夠強的演算法,C語言都可以實現。至於需要多少隨機性,是否實用,就不是設計者能夠完全決定的了。
====
[原創回答團]

『貳』 如何製作隨機數 C語言……

首先使用srand(unsigned
int)
函數
設置種子,然後使用rand()返回一個
隨機數

使用這兩個函數時需要包含頭文件
#include <stdlib.h>
1、在標準的C庫中函數rand()可以生成0~RAND_MAX之間的一個隨機數,其中RAND_MAX
是stdlib.h
中定義的一個
整數
,它與系統有關;
2、因為rand()函數是按指定的
順序
來產生整數,因此每次執行上面的
語句
都列印相同的兩個值,所以說C語言的隨機並不是真正意義上的隨機,有時候也叫偽隨機數;
3、通常通過為隨機數
生成器
提供一個新的
隨機種子
來達到使
程序
在每次執行時都能生成一個新
序列
的隨機值的效果。函數
srand()(來自stdlib.h)可以為隨機數生成器播散種子。只要種子不同rand()函數就會產生不同的隨機數序列。srand()稱為隨機數生成器的初始化器;
示例代碼:
#include <time.h> //用到了time函數
#include <stdlib.h>
#include <stdio.h>

int main()
{
int i, number;
srand((unsigned int) time(NULL)); //用時間做種,每次產生隨機數不一樣
for (i=0; i<10; i++)//產生10個隨機數
{
number = rand() % 12 + 1;//產生1-13的隨機數
printf("%d\n", number);
}
return 0;
}

『叄』 c語言中如何生成1個0到1的隨機數

C語言中生成1個0到1的隨機數可以執行語句:float b=rand()/(RAND_MAX+1.0);

解析:

標准C庫中函數rand()可以生成0~RAND_MAX之間的一個隨機數,其中RAND_MAX 是stdlib.h 中定義的一個整數,它與系統有關。rand()函數沒有輸入參數,直接通過表達式rand()來引用;

用函數rand取得的隨機數除以(RAND_MAX+1.0),即可確保得到的結果在0到1之間。ISO IEC 9899 2011 (C11)標准中未規定 RAND_MAX 的具體數值。但該標准規定了RAND_MAX 的值應至少為32767。編程的時候,不應該對 RAND_MAX 的具體數值做任何假設。

(3)真隨機c語言擴展閱讀:

相關說明:

1、因為rand()函數是按指定的順序來產生整數,因此每次執行上面的語句都列印相同的兩個值,所以說C語言的隨機並不是真正意義上的隨機。

2、為了使程序在每次執行時都能生成一個新序列的隨機值,我們通常通過為隨機數生成器提供一粒新的隨機種子。函數 srand()(來自stdlib.h)可以為隨機數生成器播散種子。只要種子不同rand()函數就會產生不同的隨機數序列。srand()稱為隨機數生成器的初始化器。

3、隨機種子(Random Seed)是計算機專業術語,一種以隨機數作為對象的以真隨機數(種子)為初始條件的隨機數。一般計算機的隨機數都是偽隨機數,以一個真隨機數(種子)作為初始條件,然後用一定的演算法不停迭代產生隨機數。

『肆』 怎樣讓c語言中的隨機函數真正隨機

一般就是採用設置種子的方式 實現真隨機
種子往往是由當前時間
比如
srand(time(NULL));
計算機語言中,很難做到真正的隨機。

『伍』 C語言哪個函數才是真正意義上的隨機聽說rand()和srand()都是經過某些復雜的運算得到的結

計算機沒有真正的隨機

『陸』 c語言,如何產生隨機數

1、第一步,先定義int一個數組和int一個指針變數。

熱點內容
滑板鞋腳本視頻 發布:2025-02-02 09:48:54 瀏覽:432
群暉怎麼玩安卓模擬器 發布:2025-02-02 09:45:23 瀏覽:557
三星安卓12彩蛋怎麼玩 發布:2025-02-02 09:44:39 瀏覽:743
電腦顯示連接伺服器錯誤 發布:2025-02-02 09:24:10 瀏覽:537
瑞芯微開發板編譯 發布:2025-02-02 09:22:54 瀏覽:146
linux虛擬機用gcc編譯時顯示錯誤 發布:2025-02-02 09:14:01 瀏覽:235
java駝峰 發布:2025-02-02 09:13:26 瀏覽:651
魔獸腳本怎麼用 發布:2025-02-02 09:10:28 瀏覽:538
linuxadobe 發布:2025-02-02 09:09:43 瀏覽:212
sql2000資料庫連接 發布:2025-02-02 09:09:43 瀏覽:726