获取两个区间之间的随机数
Get random number between two intervals
我想得到两个区间之间的随机数,1,4和8,16
要获得一个间隔之间的随机数,我必须这样做:
randNumber = random(1, 3);
如果我希望我的变量也有可能是8到16之间的数字,而不仅仅是1到4之间的数字呢?
谢谢。
这里有一个简单的解决方案,有50%的可能性处于任一区间:
if (rand() % 2){
return rand() % 4 + 1;
} else {
return rand() % 8 + 8;
}
否则,如果您希望将分布加权到区间的大小:
int num = rand() % 12 + 1;
if (num >= 4) num += 4;
return num;
相关文章:
- C++中std::resize(n)和std::shrink_to_fit之间的区别
- int(c) 和 c-'0' 之间的区别。C++
- 在cuda线程之间共享大量常量数据
- 在c代码之间共享数据的最佳方式
- Mix_Init和Mix_OpenAudio SDL之间的区别是什么
- C++ 使用 assign 函数的字符串与直接使用 '=' 更改值的字符串之间的区别
- VSOMEIP-2个设备之间的通信(TCP/UDP)不工作
- std::atomic和std::condition_variable wait,notify_*方法之间的区别
- 大小相等但成员数量不同的结构之间的性能差异
- 类与私有变量的其他类之间的线程安全性
- 如何在cpp文件之间切换窗口?在Qt中
- 线程之间的布尔停止信号
- 我是C++编程的新手,这些代码之间有什么区别,我应该使用哪一个
- 在 const 函数中通过引用和指针返回之间的区别
- 算术序列与区间的最大重叠
- 我想知道长双倍和双倍之间的区别
- C++显示两个区间之间的数字的程序检查一个数字是否可以表示为两个素数的总和
- 用于在2个带符号整数区间之间进行除法的C++算法
- 两个区间[a,b]之间的二重随机数生成
- 获取两个区间之间的随机数