看板 C_and_CPP 關於我們 聯絡資訊
※ 引述《chin2049 (香吉士)》之銘言: : #include<iostream> : #include<stdlib.h> : #include<ctime> : using namespace std; : int main(){ : srand( static_cast<unsigned int>(time(NULL))); //隨機函式 : int a = 11 + static_cast<int>( 1. * rand() * 10 / (RAND_MAX + 1.)); : cout << a << endl; : system("pause"); : return 0; : } : 請教一下各位大大 : 我想要產生11~20的隨機亂數 : 但是為什麼執行結果都相同呢? : 我是用深度學習C++自學 : 我是照書上打的 : 請問這個改良式的亂數產生方法哪裡錯了呢? 如果覺得 rand() 不好就自己改良 反正 rand() 內容只是一個 A * B + C 的東西 另外要每次不一樣 有幾個方法 1.取得時間 (如 GetTime or TickCount) 2.利用 CPU 內部 Counter (如 x86 的 RDTSC) 3.int 無定義 (某些平台無效) 當成 seed 值 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.44.181.148
chrisdar:拿到 PID 也是個辦法 05/16 16:47
jlovet:不覺得PID很好,因為會被觀察到 05/16 16:50
jlovet:與其自己弄一些奇奇怪怪的方法,我寧願相信別人寫得自動seed 05/16 16:50
chrisdar:UUID ? 05/16 17:00
jlovet:你的UUID會每天不一樣嗎XD! 05/16 17:30