好吧,很可能它会被标记为重复,但我正在寻找答案,但找不到类似的东西.问题是:我想在特定范围内生成随机数[即min_value到max_value]并使用特定步骤.对于第一部分,答案是:
int random_value = rand() % max_value + min_value;
Run Code Online (Sandbox Code Playgroud)
该步骤如何定义它?我想上面提到的解决方案导致步骤1.正确吗?如果我想用步骤2(例如2,4,...,16)生成数字,我该怎么办?
这应该做你想要的:
int GetRandom(int max_value, int min_value, int step)
{
int random_value = (rand() % ((++max_value - min_value) / step)) * step + min_value;
return random_value;
}
Run Code Online (Sandbox Code Playgroud)