教你如何用C 快速生成1000萬個隨機數

2021-06-06 08:35:36 字數 1276 閱讀 7459

updated: 2012.5.10

我簡單地提及了一下top k。

精華部分:

srand(unsigned(time(0));//隨機種子,為了提高不重複的概率

rand()%(max-min + 1) + min;                //生成的隨機數值在min和max之間(包含min,max)

請直接看**,所有重要資訊均在上面。

/*

本程式實現的功能:

生成1000萬個可能重複的隨機數,用作測試資料

並計算生成這些資料所用的時間

*/#include #include // time.h也可,用於計算程式執行時間和生成隨機種子數

using namespace std;

#define self_rand_max 0x7fffffff

int main()

fclose(stdout);

freopen("time.txt","w",stdout);

cout << endl

<< "---the end---"

<< endl;

//clocks_per_sec控制精度,在windows環境下是1000,linux下是多少完了

//簡單地說windows下是毫秒級,而linux下是納秒級

cout << "elapsed time:" << double(clock() - start_time) / clocks_per_sec

<< 's' << endl;

//  fclose(stdout);

}

執行結果:

time.txt中

---the end---

elapsed time:5.171s

生成的data.txt有55m之多。共有1000萬個資料,通過下面的測試程式可以斷定,這1000萬個資料的值均在1000-10000000之間。

#include #include //#include //using namespace boost;

using namespace std;

int main()

}cout << len << endl;

// cout << t.elapsed() << endl;

}

執行結果為10000000

另外如何生成不重複的1000萬個數?這是個非常大的挑戰,待日後解決。

好吧,繼續投入top k的學習。

如何快速生成2000萬行資料

原文 文字三個要求 1,字串長度為16 2,字串只能包含大小寫字母和數字 隨機的 3,要求生成2000萬行的txt文字 想通過shell完成,不知最快需要多久 生成的部分文字 hiszop0nkn9d2amg ztv3rtsmdxjjxqba hygphqjo7qw0kmel 1rbx0t4rsha...

教你如何用C語言實現的乙個萬年曆

該程式簡單地輸入乙個年份 1901年之後的年份 隨後程式輸出該年份十二個月的日曆。include define mon 1 define tues 2 define wed 3 define thur 4 define fri 5 define sat 6 define sun 0 define j...

如何用萬用表快速測量MOS管的好壞?

今天的文章內容很簡單,也很簡短,但卻很實用。以nmos舉例,只用萬用表二極體檔測量mos管的好壞。nmos的d極和s極之間有乙個寄生二極體,方向為s到d,利用二極體單向導電性以及mos管導通時寄生二極體截止的特性,可以快速測量mos好壞。pmos管wms14p03t1中的vsd引數 1 測量之前將m...