C++ 在C语言中,如何以确定的概率处理命令?
我想这样处理一个命令,如果我按下字符a,在15%的情况下发出相应的命令。谢谢你的帮助 按下a键时,需要生成一个随机数 编辑:例如:C++ 在C语言中,如何以确定的概率处理命令?,c++,c,command,probability,C++,C,Command,Probability,我想这样处理一个命令,如果我按下字符a,在15%的情况下发出相应的命令。谢谢你的帮助 按下a键时,需要生成一个随机数 编辑:例如: #include <stdlib.h> if(PressedA){ int random=(rand() % 100); // random is in [0,99] if(random < 15){ command(); } } #包括 如果(按EDA){ int random=(rand()%
#include <stdlib.h>
if(PressedA){
int random=(rand() % 100); // random is in [0,99]
if(random < 15){
command();
}
}
#包括
如果(按EDA){
int random=(rand()%100);//random在[0,99]中
如果(随机<15){
命令();
}
}
我想大概是这样吧。(使用-std=c++11编译)
#包括
#包括
int main()
{
std::随机_装置rd;
标准:均匀分布d(0,99);
int x=d(rd);
如果(x<15)
{
std::难道你应该研究一下rand()函数,自己试试看。如果你遇到了特定的问题,你可以在这里问。如果rand()生成的值不是随机分布的,那么它可能是正确的(我不知道它是不是真的,所以我使用了绝对一致的分布:))rand()生成了一个均匀的分布,但明确说明这一点肯定更为明确。好的观点!请注意,如果X
接近rand_MAX
,则rand%X
将不会特别均匀,但相比之下,100很小,因此不会产生任何显著差异。
#include <iostream>
#include <random>
int main()
{
std::random_device rd;
std::uniform_int_distribution<int> d(0, 99);
int x = d(rd);
if (x < 15)
{
std::cout << "you, lucky boy! " << x << std::endl;
}
return 0;
}