當前位置:生活全書館 >

綜合知識

> 怎麼寫隨機數

怎麼寫隨機數

1. c語言中隨機數怎樣寫

C語言函式名rand()

怎麼寫隨機數

簡介

功 能::偽隨機數發生器 所屬庫:stdlib.h

用 法: 需要先呼叫srand初始化,一般用當前日曆時間初始化隨機數種子,這樣每次執行程式碼都可以產生不同的隨機數。

函式原型:int rand(void); 相關函式:srand、time、GetTickCount

程式例

1: #include "stdio.h"

#include "stdlib.h"

int main(void) {

int i;

printf("Ten random numbers from 0 to 99nn");

for(i=0; i<10; i++)

printf("%dn", rand() % 100);

return 0; }

例1程式在每次執行時都會生成相同的十個偽隨機數,如要每次生成的隨機數不同應結合srand函式和time函式。

///////////////////

int i,a;

for(i=0;i<3;i++)

{

a=rand()%9;

printf("%d",a);

}

2. 隨機數的函式怎麼寫

使用rand()函式生成隨機百數;

種子可以度使用srand()函式生成

函式示例,該程式使用時間做種子,內有使用者輸容入產生不同位數的隨機數

#include <iostream>

#include "ctime"

using namespace std;

int main()

{

int num;

char ch;

srand( (unsigned)time( NULL));

while(1)

{

cin>>ch;

switch(ch)

{

case '1' :num=rand()%10;break;

case '2' :num=rand()%100;break;

case '3' :num=rand()%1000;break;

case '4' :num=rand()%10000;

}

cout<<num<<endl;

}

return 0;

}

3. C語言抽取隨機數怎麼編寫

C語言中有自己的隨機數函式rand()

其原型為

int rand();

功能為獲取一個隨機整型數。

所在頭檔案為stdlib.h

抽取10個隨機數並輸出的程式可以寫成

#include<stdio.h>

#include <stdlib.h>

int main()

{

int i;

for(i = 0; i < 10; i ++)

printf("%dn", rand());

return 0;

}

在應用中,需要的隨機數往往是一個範圍,比如要隨機生成一組合法的整型分數的時候,實際上是需要生成一組[0,100]的隨機整數。要達到這樣的目的,可以通過取餘運算(模除運算)來實現。

對於a%b的值,其結果範圍在[0,b-1]之間。依照這個原理,如果要得到範圍在[a,b]的隨機整數,可以先求得[0,b-a]範圍的隨機數,再在結果上加a即可。

也就是

rand()%(b-a+1) + a

於是在之前程式碼的基礎上,抽取10個值在[0,100]範圍內的隨機數程式可以寫成

#include<stdio.h>

#include <stdlib.h>

int main()

{

int i;

for(i = 0; i < 10; i ++)

printf("%dn", rand()%101);//這裡增加了模除運算,由於最小值就是0,所以不需要加法了。

return 0;

}

值得注意的一點是,C語言提供的rand函式是偽隨機數,如果不做其它處理,那麼每次執行程式獲取到的隨機數序列是固定的。為了解決這個問題,C語言還定義了srand這個庫函式,用來設定一個隨機數種子,從而得到一個不確定的隨機初始值。

srand要求有一個int型的引數,這個引數比較常見的做法是用time(NULL)來獲取當前微秒數來充當。

於是一個完整的設定隨機數種子的操作為

srand(time(NULL));

其中time函式需要引入time.h來宣告。

srand函式需要在第一次呼叫rand前呼叫,這樣獲取[0,100]間10個隨機整數並輸出的程式就最終被修改為

#include<stdio.h>

#include <stdlib.h>

#include <time.h>; //增加time函式的標頭檔案

int main()

{

int i;

srand(time(NULL));//設定隨機數種子,只需要呼叫一次即可。

for(i = 0; i < 10; i ++)

printf("%dn", rand()%101);

return 0;

}

4. c語言怎麼寫隨機數(不要偽隨機)

rand函式也是呼叫dos的時鐘,進行的偽隨機函式。

你也可以使用時鐘來模擬隨機函式。可以試用gettime這個函式:longintMyRand(intx){structtimet1,t2,t3;gettime(&t1);inty1=t1.ti_hund;//取1/100s作為基數gettime(&t2);inty2=t2.ti_hund;//取1/100s作為基數gettime(&t3);inty3=t3.ti_hund;//取1/100s作為基數returny1*y2*y3;//產生的隨機數0~99*99*99}。

5. 如何寫一個隨機數生成程式碼c++的

在開頭加上 #include <time.h>

int seed = time( 0 ); // 這裡是種子

const int MAX = 10;

double value[MAX] = { 0.0 };

srand( seed );

for( int i = 0; i < MAX; i++)

value[i] = rand() / ( RAND_MAX + 1.0 );

6. C語言中怎樣生成隨機數

在VC中設計到隨機數有兩個函式

srand() and rand()

srand() 的作用是是一個種子,提供每次獲得隨機數的基數而已,rand()根據種子而產生隨機數

注意

1:srand() 裡的值必須是動態變化的,否則得到的隨機數就是一個固定數

2:其實可以不用寫srand() ,只用rand()就可以了,省事,簡單,例子如下

如果我們想得到一個 0-60的隨機數那麼可以寫成

int i;

i=rand()%60;

就可以了。

當然最好有個統一的標註如下:

int i;

srand((unsigned)time( NULL ));

i=rand()%60;

這樣就OK了。

7. 用js 寫隨機數的程式碼,怎麼寫

js隨機數

Math.random(),這個函式返回值是一個大於等於0,且小於1的隨機數

所以Math.random() * n 值域為 [0, n)

結合Math.floor()生成一位整數的函式

function randNum(){

return Math.floor(Math.random() * 10); //大於等於0,且小於10的整數

}

兩個隨機數想加 var checkStr = randNum() + '+' + randNum() + '= ?';

驗證思路:

生成兩個隨機數,並把計算結果儲存在變數中,當提交註冊時,判斷使用者輸入的值是否和已儲存變數的值一樣

標籤: 隨機數
  • 文章版權屬於文章作者所有,轉載請註明 https://shqsg.com/zonghezhishi/wrgon9.html