excel 隨機數(shù)生成 C語言問題,怎樣利用系統(tǒng)時間作為隨機數(shù)的種子?
C語言問題,怎樣利用系統(tǒng)時間作為隨機數(shù)的種子?C語言中,設置隨機數(shù)種子需要包含頭文件stdlib.h,利用系統(tǒng)時間需要包含頭文件time.h。設置隨機數(shù)種子的函數(shù)原型為:void srand(unsi
C語言問題,怎樣利用系統(tǒng)時間作為隨機數(shù)的種子?
C語言中,設置隨機數(shù)種子需要包含頭文件stdlib.h,利用系統(tǒng)時間需要包含頭文件time.h。設置隨機數(shù)種子的函數(shù)原型為:void srand(unsignedintseed)利用系統(tǒng)時間作為隨機數(shù)的種子代碼如下:#include <stdlib.h>#include <time.h>int main(){ srand((unsigned)time(NULL)) // 利用系統(tǒng)時間作為隨機數(shù)的種子 return 0}
為什么有程序員都說取的隨機數(shù)是偽隨機數(shù)?
偽隨機是指在有限次數(shù)內隨機,出現(xiàn)相同的數(shù)字。要實現(xiàn)真隨機,小編認為主要把握兩點:
1.種子。種子要選取帶有唯一性的值,如時間。這樣就從源頭避免了偽隨機。
2.算法。只要在有限次數(shù)內不重復,就達到了真隨機。因此,算法實現(xiàn)一組隨機數(shù),每個都不同(相同的已拿掉,算法的好壞決定了出現(xiàn)相同數(shù)字的概率),這樣應用時再從這組數(shù)中取出,就保證了不重復。
隨機數(shù)在應用開發(fā)中,尤其是游戲開發(fā)中常用,這是個常見的問題,需從種子和算法上著手解決。
謝謝大家。
【C語言】隨機數(shù)種子的設置?
我以前學過一點這方面的知識,不知道能不能幫到你。
我記得srand這個函數(shù)是用來產生一個范圍的,他應該是從一個標準時間開始到現(xiàn)在時間所持續(xù)的秒數(shù)的這么一個范圍。然后rand函數(shù)是從這個范圍中進行隨機取值。他的返回值是0至RAND_MAX之間的隨機數(shù)值,RAND_MAX定義在stdlib.h中。具體多少不記得了。。