未知概率返回true或false

以未知概率返回True或False

#题目
一个随机函数以一个未知得概率返回true或false;然后让你用这个函数写一个函数以百分之50得概率返回true和false。

#思路
未知函数返回true的概率是k,返回false的概率是1-k。那么两次调用未知函数,都为true的概率是k*k,都为false的概率是(1-k)(1-k)。而第一次true第二次false的概率和第一次false第二次true的概率相同,所以可以实现五五开。

//未知概率的函数
public boolean unknown(){
	//未知概率返回true或false。
}  


public boolean get(){
	boolean a=unknown();
	boolean b=unknown();
	if(a^b==false)
		get();//再来一次
	else
		return a;
} 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值