2
我正在使用Linux random()函數在CentOS 5.2中生成隨機消息。我想在3次隨機調用後重置種子。換句話說,我希望第一次呼叫和第四次呼叫的輸出相同。有沒有辦法將rand()函數設置爲初始狀態?或者你能知道我可以做的其他功能嗎?linux隨機函數
我正在使用Linux random()函數在CentOS 5.2中生成隨機消息。我想在3次隨機調用後重置種子。換句話說,我希望第一次呼叫和第四次呼叫的輸出相同。有沒有辦法將rand()函數設置爲初始狀態?或者你能知道我可以做的其他功能嗎?linux隨機函數
您可以簡單地記住種子,然後使用它來重置。像這樣的東西在C:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main() {
int seed = time(NULL);
int i;
for (i = 0; i < 10; i++) {
if (!(i % 3)) {
srandom(seed);
}
printf("%d\n", random());
}
}
如果你只是想重複三個隨機數,然後存儲在數組中連續三次隨機數和重複你的心內容。
int rand_arr[3];
int i;
srandom(time(NULL)); // Not the best way, but I'm lazy.
for(i = 0; i < 3; i++)
{
rand_arr[i] = rand();
}
for(i = 0; i < 10000; i++)
{
printf("%d\n", rand_arr[i % 3];
}
你在做什麼語言? C? – 2013-02-12 17:28:14
Yeap,我正在使用C. – ykulah 2013-02-12 17:44:59