這只是好奇心的問題,我在想,如果我在 開始時使用C++ rand()函數srand(time(0))
,它會生成所有不同的隨機數,所以我嘗試過會發生什麼,當給定數組的sizeof大得多時,例如給定兩個整數範圍內的元素數量,當數組被聲明爲int a [100]時,以及從[15 75]中隨機數的範圍時,我想知道代碼應該給我錯誤像有更多的數字比範圍或類似的東西,但它產生了隨機重複值爲什麼?這裏是代碼重複的隨機數
#include <iostream>
#include <cstdlib>
#include <time.h>
using namespace std;
int main(){
int min=15;
int max=75;
int a[100];
srand(time(0));
for (int i=0;i<100;i++) {
a[i]=min+rand()%(max-min+1);
}
for (int i=0;i<100;i++) {
cout<<a[i]<< " ";
}
return 0;
}
「它會產生所有不同的隨機數」 - 你爲什麼這麼認爲? – Howard
我不明白你的問題。它是什麼? –
你能否明確告訴我們你會期望什麼樣的順序?顯然你做了一些錯誤的假設,但目前還不清楚。 – leftaroundabout