VC驿站

 找回密码
 加入驿站

QQ登录

只需一步,快速开始

搜索
查看: 704|回复: 2

[求助] 各位大神,概率代码应该怎么写好呢?

[复制链接]
35_avatar_middle
online_vip 发表于 2018-9-30 12:28:08 | 显示全部楼层 |阅读模式
3驿站币
本帖最后由 cheating_plugin 于 2018-9-30 12:30 编辑

概率函数:想构造是这样子的

bool ProbabilityFunction(DWORD molecule,DWORD Denominator)
{
      bool bRef = false;
      -----
      -----
     return bRef;
}

参数一:分子
参数二:分母
返回:概率成功 or  失败

比如:bool bRef = ProbabilityFunction(5,1000) ;
//意思就是千分之五的概率
//返回这概率是否成功 or 失败

哪位大哥帮补充一下内容代码吧,我自己在网上查的,自己写的好像不太好,不得已才求助的。





上一篇:电脑管家有个清理插件的功能,插件指的是什么,怎么编写?
下一篇:一道题
51_avatar_middle
online_admins 发表于 2018-9-30 14:47:45 | 显示全部楼层
不知道楼主的编译器是否是 VS2013 及其以上的版本,我手头有个 C++ 11 的可以做到!

#include <time.h>
#include <random>
using namespace std;

bool ProbabilityFunction(DWORD molecule, DWORD Denominator)
{
        static default_random_engine engine_seed((DWORD)time(NULL));
        uniform_int_distribution<DWORD>dist(1, Denominator);
        DWORD rand_num = dist(engine_seed);

        return rand_num <= molecule ? true : false;
}
51_avatar_middle
online_admins 发表于 2018-9-30 14:49:30 | 显示全部楼层
算法实际上也不难,举个例子,分母 Denominator 的值比方说是1000,那么就是生成从 1~1000 之间的随机数,然后拿生成的这个随机数跟分子做比较,如果比分子小,那么就说明在概率的范围内,算是命中了,比分子大就相当于没命中,就是这么个道理!
您需要登录后才可以回帖 登录 | 加入驿站 qq_login

本版积分规则

关闭

站长提醒上一条 /2 下一条

QQ|小黑屋|手机版|VC驿站 ( 辽ICP备09019393号tongdun|网站地图wx_jqr

GMT+8, 2019-8-18 07:50

Powered by Discuz! X3.4

© 2009-2019 cctry.com

快速回复 返回顶部 返回列表