社区
C++ 语言
帖子详情
概率问题
runall
2005-01-17 10:40:52
我需要以概率x(0=<x<=1)来执行一段代码,该用什么方法?
...全文
93
5
打赏
收藏
概率问题
我需要以概率x(0=<x<=1)来执行一段代码,该用什么方法?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
kobefly
2005-01-18
打赏
举报
回复
楼主英明啊
正解
runall
2005-01-18
打赏
举报
回复
下面是我自己写的函数,中心思想是将0和1之间的概率数转化为大于等于1的整数,通过连续乘10,记住扩大的倍数,然后在1和倍数之内产生随机数来决定是否执行代码。举个例子假设执行某段代码的概率为0.015,此数乘以1000得到整数15,然后在1到1000之内产生随机数r,r<=15就执行代码,否则不执行。
欢迎大家讨论
bool IsRun(float m_fX)
{
if(m_fX >= 1.0f) //概率大于等于1,肯定执行
{
return true;
}
else if(m_fX <= 0.0f) //概率小于等于0,肯定不执行
{
return false;
}
else //概率在0和1之间
{
float fTemp = 0.0f;
fTemp = m_fX;
CString strValue = _T("");
char buff[50];
_gcvt(fTemp, 10, buff); //转换为字符串
strValue = buff;
strValue.TrimLeft();
strValue.TrimRight();
int nLength = strValue.GetLength();
if(nLength > 2)
{
}
else
{
return false;
}
int z = 1;
for(int i = 0; i < nLength - 2; ++i)
{
z *= 10;
} //z是概率数转变为整数的10倍数
int nX = 0;
nX = _ttoi(strValue.Right(nLength - 2));
srand(GetTickCount());
int nTemp = (rand() % z) + 1;
if(nTemp <= nX)
{
return true;
}
else
{
return false;
}
}
}
zhou_lion
2005-01-18
打赏
举报
回复
#include <cstdlib>
#include <iostream>
#include <ctime>
using namespace std;
void RunFunction(float x)
{
cout << "产生的随机数: " << x;
}
void RunOrStop(float n)
{
float x;
x=float(rand()%100)/(float)100;
if(x<n)
RunFunction(x);
else
{;}
}
void main()
{
float i;
srand((unsigned)time(NULL));
cin >> i;
RunOrStop(i);
}
han___
2005-01-17
打赏
举报
回复
应该划分成几个范围吧
如0-0.1 -0.2等
sasdaa
2005-01-17
打赏
举报
回复
用随机数,随即产生一个0-1的随即书,如果大于x就执行.小于x就不知行
大白话HMM全套系列课程--从此爱上HMM
本系列课程由浅如深讲解HMM的全套知识,让你从此不再惧怕HMM,爱上HMM 1.1HMM算法之马尔可夫性质 1.2HMM算法概念1.3HMM算法参数解释--三元素1.4HMM的两个基本性质1.5HMM的三个
问题
案例概述1.6HMM的
概率
问题
之暴力...
扔硬币先手获胜
概率
问题
扔硬币先手获胜
概率
问题
题目描述 甲乙丙三人轮流扔硬币,第一个扔到正面的人算赢,问三个人赢的
概率
分别为多大?(扔硬币正反面
概率
都是1/2。) 题目分析
问题
问的是赢的那个人的
概率
是多少? 注":三人在第n轮...
Java经典“羊车门”
概率
问题
解答
Java经典“羊车门”
概率
问题
解答
利用马尔可夫模型分析游戏装备强化
概率
问题
利用马尔可夫模型分析游戏装备强化
概率
问题
C++面试之
概率
问题
一 利用不均匀硬币产生等
概率
问题
描述:有一枚不均匀的硬币,抛...
问题
分析:分析连续抛出两次硬币的情况,正反面的出现有四种情况,
概率
依次为: (1) 两次均为正面:0.6*0.6=0.36 (2)第一次正面,第二次反面:0.6
C++ 语言
64,686
社区成员
250,505
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章