记录一个由整数奇偶问题引发的思考。
原问题
算法有穷性讨论 - 理想硬币 - 几何分布
假设: rand()
为理想的随机整数发生器 // 尽管这似乎不可能
于是: rand()
为奇、偶的概率均为 50%
1 | void dice(){ |
数学期望 = 2 次
理论上,却可能任意多次
原问题解释
判断奇偶的方法
偶数的二进制的末尾为 0 ,奇数的二进制的末尾为 1 。
按位与:将参与运算的两操作数各对应的二进制位进行与操作, 只有对应的两个二进位均为 1 时,结果的对应二进制位才为 1 ,否则为 0 。在做位运算时,位数不够的数,自动在 前面补 0 。比如 21 & 1 :10101 & 00001 = 00001 = 1
。
故 偶数 & 1 = 0
, 奇数 & 1 = 1
。
因此,这个问题可以等效为抛硬币,抛到正面就停止的问题。
原问题期望求解
设所求期望为 , 显然 ,设正面概率为 ,若第一次即抛得正面,则还需要抛 次,若第 次未抛得正面,则除了已经抛过一次以外,该问题回到了又原点,故有:
得:
由于 ,故数学期望为 。事实上此即为几何分布的数学期望公式。
出现 k 次正面才停止
考虑这样一个问题:连续抛一枚硬币,出现 次正面方停止,求抛掷次数的数学期望?
设 表示出现第 个正面所需实验次数,其符合几何分布,期望值为 。故有出现 次的期望值为:
连续出现 k 次正面才停止
考虑这样一个问题:连续抛一枚硬币,连续地出现 次正面方停止,求抛掷次数的数学期望?
设 表示连续出现 次正面所需次数的数学期望,则类似 原问题
期望求解方法,可类似得到:
又 则:
由于 ,故: