c++ - 生成两个具有特定规则的随机数
问题描述
我正在编写一个生成两个随机整数并显示第一个数字除以第二个数字的结果的代码。我希望第一个整数大于第二个整数并且除法的结果没有余数(整数)
我尝试使用 do while 循环并继续更改整数,直到它生成我想要的数字。
std::random_device device;
std::mt19937 rd(device());
std::uniform_int_distribution<int> random(1, 100);
int firstNumber;
int secondNumber;
do
{
firstNumber = random(rd);
secondNumber = random(rd);
}
while ((firstNumber < secondNumber) && (firstNumber % secondNumber != 0));
int result = firstNumber / secondNumber;
//print the integer to check it
std::cout << firstNumber << std::endl;
std::cout << secondNumber << std::endl;
每次我运行这段代码时,它总是给我第一个整数多于第二个整数。但除法结果将是余数
解决方案
你的循环检查是错误的!试试这个……</p>
do
{
firstNumber = random(rd);
secondNumber = random(rd);
} while ((firstNumber <= secondNumber) || (firstNumber % secondNumber != 0));
您需要继续运行循环,直到满足两个条件,所以如果其中一个__or__另一个不满足,请继续尝试!
此外,如果您<
的第一个比较是 ,而不是<=
,那么您很可能会得到两个相同的数字。
推荐阅读
- xml - 使用 xmllint --xpath 提取嵌套属性值
- reactjs - 在来自 github 的 react 项目上运行 npm install 时出现 npm err code 1
- python - OpenSesame:如何引用内联脚本之外的变量?
- mysql - 检索值并从嵌套 Json 格式的表库中对它们求和 - SQL
- java - 如何在安卓中使用(RSA/ECB/PKCS1Padding)
- javascript - 如何在 React 中使用 Tailwind CSS 来配置 Create React App?
- javascript - 如何定义一个可以有多种形式的javascript属性?
- page-break - 如何让我的主题连续打印,每个主题后没有空白页
- ruby-on-rails - Elastic Search 取消长时间运行的任务
- django - 如何使用变量作为模型名称在 Django 中查询多个模型