您的位置:首页 > 其它

/有一个函数fun能返回0和1两个值,返回0和1的概率都是1/2,问怎么利用这个函数得到另一个函数fun2,使fun2也只能返回0和1,且返回0的概率为1/4,返回1的概率为3/4

2012-10-03 10:45 513 查看
int Fun2()  //这是1/4和3/4的。
{
srand((unsigned)time(NULL));
int a=Fun1()*(rand()%7+1);//a为0的概率是1/2,	为数字的概率也是1/2.产生1到8之间的数字
if (a!=0)
{
if (a%2==0) //为偶数的概率是1/2*1/2
{
return 0;
}
}
return 1;

}
nt Fun_3()//分别是0.3和0.7
{

int a1=Fun1();
int a2=Fun1();
int a3=Fun1();
do{
int a=a1<<4+a2<<3+a3<<2+Fun()1<<1+Fun()1;///生成1——30的数字
}while(a!=31&&a!a!=0)
if (a%3==0)
{
return 0;
}
else
{
return 1;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  fun null
相关文章推荐