在一次对拼中阿宁有x个脆皮攻击虚空蛇。虚空蛇在脆皮攻击之前杀死y个脆皮y是区间LR内等概率选一个整数。如果xy那么只杀死x个脆皮。如果脆皮还活着就能攻击到虚空蛇。问:在一次对拼中虚空蛇被攻击到的概率是多少?用C++解决这个问题xlr均大于1且小于等于1000000000
思路:
首先,我们需要求出虚空蛇被杀死y个脆皮的概率,然后用1减去这个概率就是虚空蛇被攻击到的概率。
当y≥x时,虚空蛇必然被杀死,因此概率为1。
当y<x时,我们需要求出y个脆皮被杀死的概率,然后用1减去这个概率。假设脆皮的数量为n,则脆皮被杀死的概率为y/n。因此,当n≥r时,脆皮被杀死的概率为(y-1)/(n-1)。当n<l时,脆皮被杀死的概率为y/n。当l≤n≤r时,脆皮被杀死的概率为(y-1)/(n-1)(n-l)/(r-l)+y/n(r-n)/(r-l)。
最后,用1减去脆皮被杀死的概率即可得到虚空蛇被攻击到的概率。
代码实现:
原文地址: https://www.cveoy.top/t/topic/qIA 著作权归作者所有。请勿转载和采集!