2020, jeeeerrrpop
#include <iostream>
#include <cstdlib>
int main() {
for(int i = 0; i < 5; i++)
std::cout << rand();
return 0;
}
怎麼好像每次數字都一樣?
static unsigned long int next = 1;
int rand(void) // RAND_MAX assumed to be 32767
{
next = next * 1103515245 + 12345;
return (unsigned int)(next/65536) % 32768;
}
#include <iostream>
#include <cstdlib>
int main() {
srand(7122);
for(int i = 0; i < 5; i++)
std::cout << rand() << std::endl;
return 0;
}
void srand(unsigned int seed)
{
next = seed;
}
#include <iostream>
#include <cstdlib>
#include <ctime>
int main() {
srand(time(NULL));
for(int i = 0; i < 5; i++)
std::cout << rand() << std::endl;
return 0;
}
如果我想產生0~9之間隨機的數字
#include <iostream>
#include <cstdlib>
#include <ctime>
int main() {
srand(time(NULL));
std::cout << rand() % 10;
return 0;
}
如果我想產生1~10之間隨機的數字
#include <iostream>
#include <cstdlib>
#include <ctime>
int main() {
srand(time(NULL));
std::cout << rand() % 10 + 1;
return 0;
}
如果我想產生x~y之間隨機的數字
#include <iostream>
#include <cstdlib>
#include <ctime>
int main() {
srand(time(NULL));
int x = 133, y = 999;
std::cout << rand() % (y - x + 1) + x;
return 0;
}