《多情剑客无情剑》- 平时要多磨炼技能,技能是磨炼出来的。 同时要判断时机,一击致命。用最小的代价,换来最大的成功。

“小李飞刀,例不虚发” 赞

生娃娃

问题:村庄有个约定,生男孩就结束,生女孩就继续生,直到生出男孩为止,若干年后,这个村子男女比例是多少?

X: 表示一个家庭总共生育的孩子数。

概率质量函数

P(X=) 表示家庭生育 k 个孩子的概率。其中,k−1 个孩子为女孩,最后一个孩子为男孩。因此,我们有:
$$
P(X = k) = (0.5)^(k-1) * 0.5 = 0.5^k
$$
这反映了每次生育的成功(生男孩)或失败(生女孩)是独立事件,成功的概率为 0.5,失败的概率也为 0.5。

期望值的计算

期望值 E(X) 是每个家庭生育孩子总数的平均值,计算公式为:
$$
E(X) = sum_{k=1}^{infty} k * P(X = k) = sum_{k=1}^{infty} k * 0.5^k
$$
使用几何级数的求和公式的变体来计算这个无穷级数。已知对于 ∣x∣<1:
$$
E(X) = sum_{k=1}^{infty} k * 0.5^k = 0.5 / (1-0.5)^2 = 0.5 / 0.25 = 2
$$
将 x=0.5 代入上述公式,得到:
$$
E(X) = sum_{k=1}^{infty} k * 0.5^k = 0.5 / (1-0.5)^2 = 0.5 / 0.25 = 2
$$
每个家庭生育孩子的总数的期望是 2,这意味着每个家庭平均有两个孩子,且因为每个家庭都至少会有一个男孩,因此每个家庭平均也会有一个女孩。

乒乓球

问题:假设你有一个乒乓球盒子,里面有 3 个白球和 2 个黑球。从盒子中抽取一个球,放回后再抽取一个球。两次抽取得到的球颜色不同的概率是多少?

首先,考虑所有可能的抽取结果。盒子中有 3 个白球和 2 个黑球,因此每次抽取白球的概率是:
$$
P(白球)= \frac{3}{5}
$$
每次抽取黑球的概率是:
$$
P(\text{黑球}) = \frac{2}{5}
$$

两次抽取中颜色相同的概率有两种情况:

  1. 两次都是白球:
    $$
    P(\text{白球}) = \frac{3}{5} \times \frac{3}{5} = \frac{9}{25}
    $$

  2. 两次都是黑球:
    $$
    P(\text{黑球}) = \frac{2}{5} \times \frac{2}{5} = \frac{4}{25}
    $$

因此,两次抽取颜色相同的总概率为:
$$
P(\text{颜色相同}) = P(\text{两次白球}) + P(\text{两次黑球}) = \frac{9}{25} + \frac{4}{25} = \frac{13}{25}
$$
颜色不同的概率是这个事件的补集,即:
$$
P(\text{颜色不同}) = 1 - P(\text{颜色相同}) = 1 - \frac{13}{25} = \frac{12}{25}
$$

因此,两次抽取得到的球颜色不同的概率是
$$
\frac{12}{25}
$$

称重

问题:8个球,其中7个重量相同,另一个球比其他球重,现在只有一个天平,请问最少需要称几次一定能找到那个比其他球重的球?

具体步骤

第一步:把8个球分为三组:两组各3个球,剩下的2个球作为第三组。

  1. 第一次称重:将前面两组(3个球 vs 3个球)放在天平上。如果两组球的重量相等,那么重的球一定在剩下的2个球里。如果不相等,较重的那一组里一定包含那个较重的球。
  2. 第二次称重
    • 如果第一次称重时天平平衡,那么重的球在剩下的2个球中。此时只需将这两个球中的一个和另一个进行比较,就可以找到重的球。
    • 如果第一次称重时天平不平衡,则重的球在较重的3个球中。此时从较重的3个球中挑出2个球进行第二次称重:
      • 如果天平再次平衡,那么剩下的那个球就是重球。
      • 如果天平不平衡,较重的那个球就是你要找的。

无论哪种情况,最少需要称2次就可以找到比其他球重的球。

倒水

问题:两个水桶,容量分别为5升和3升,请问如何使用这两个桶得到4升的水?

要用两个水桶(5 升和 3 升)得到 4 升水,可以按照以下步骤进行:

  1. 将 5 升桶装满水
    • 5 升桶现在有 5 升水,3 升桶空的。
  2. 将 5 升桶中的水倒入 3 升桶,直到 3 升桶装满
    • 5 升桶现在剩下 2 升水,3 升桶有 3 升水。
  3. 把 3 升桶的水倒掉
    • 5 升桶仍有 2 升水,3 升桶为空。
  4. 将 5 升桶中的 2 升水倒入空的 3 升桶
    • 5 升桶现在为空,3 升桶有 2 升水。
  5. 将 5 升桶重新装满水
    • 5 升桶现在有 5 升水,3 升桶仍有 2 升水。
  6. 将 5 升桶中的水倒入 3 升桶,直到 3 升桶再次装满
    • 5 升桶现在剩下 4 升水,3 升桶有 3 升水。

此时,5 升桶中正好有 4 升水

**问题2:**5升杯子,6升杯子,得到3升水

步骤

  1. 初始状态: 两个杯子都是空的。
  2. 步骤1: 将6升杯子装满水。
  3. 步骤2: 从6升杯子中倒水到5升杯子,直到5升杯子满。此时,6升杯子中剩下1升水。
  4. 步骤3: 将5升杯子中的水全部倒掉。
  5. 步骤4: 将6升杯子中的1升水倒入5升杯子。
  6. 步骤5: 再次将6升杯子装满水。
  7. 步骤6: 从6升杯子中倒水到5升杯子,直到5升杯子满。此时,6升杯子中剩下2升水。
  8. 步骤7: 将5升杯子中的水全部倒掉。
  9. 步骤8: 将6升杯子中的2升水倒入5升杯子。
  10. 步骤9: 再次将6升杯子装满水。
  11. 步骤10: 从6升杯子中倒水到5升杯子,直到5升杯子满。此时,6升杯子中剩下3升水。

吃桃子

问题:一堆桃子,猴子第一天吃了一半加一个,第二天又吃了一半加一个,… ,到第10天时剩下一个桃子,问这原来有多少个?

已知第 10 天剩下 x10=1 个桃子。

根据题意,每天猴子吃掉了一半的桃子再加一个,也就是说,第 n 天剩下的桃子数 xn 与第 n−1 天的桃子数 xn−1 的关系是:

x9=2×(1+1)=4

x8=2×(4+1)=10

x7=2×(10+1)=22

x6=2×(22+1)=46

x1=2×(766+1)=1534

因此,原来有 1534 个桃子。

毒药

问题:1000瓶药水,1瓶有毒药,最少需要几只小白鼠一定能够找出?

这是一个经典的二进制问题,我们可以利用二进制编码和试验来找到最少的小白鼠数量。

分析:

  • 共有 1000 瓶药水,其中 1 瓶是有毒的,剩下的 999 瓶是无毒的。
  • 我们需要找到最少的实验次数(或者最少的小白鼠数量)来唯一确定哪一瓶是有毒的。

如果我们将每一瓶药水编号(例如从 1 到 1000),可以使用二进制编码来表示这些编号。每个药水编号可以用二进制形式表示为 10 位数(因为 210=10242^{10} = 1024210=1024,而 29=5122^9 = 51229=512 不足以表示 1000 瓶)。

我们可以利用小白鼠对这些二进制位进行测试。具体方法是:

  1. 用二进制表示每个药水的编号:例如,第 1 瓶药水的二进制编号是 0000000001,第 1000 瓶药水的二进制编号是 1111101000。
  2. 分配小白鼠测试位数:假设我们有 10 只小白鼠,每只小白鼠对应二进制编码的一个位(0 或 1)。
    • 第 1 只小白鼠负责每瓶药水的第 1 位二进制数。
    • 第 2 只小白鼠负责第 2 位二进制数,依此类推。
  3. 进行实验
    • 如果药水编号的某一位是 1,则对应的小白鼠喝该药水;如果是 0,则不喝。例如,编号为 9 的药水二进制表示为 0000001001,那么第 1 和第 4 只小白鼠喝这瓶药水。
    • 通过观察哪些小白鼠在实验后死亡(意味着喝了有毒的药水),就可以通过二进制还原出有毒药水的编号。

结论:

  • 10 只小白鼠 可以通过上述方法唯一确定 1000 瓶药水中的哪一瓶是有毒的。
  • 因为 10 只小白鼠可以通过 2 的 10 次方 210=10242^{10} = 1024210=1024 覆盖 1000 瓶药水。

称盐

问题:一个天平,7g和2g砝码各一个,将140g盐分成90g和50g,需要称多少次?

我们手头有 7g 和 2g 两个砝码,它们可以组合成几种重量:

  1. 只用 7g:称出 7g
  2. 只用 2g:称出 2g
  3. 用 7g 和 2g:称出 9g
  4. 用反向称量也可以得出 5g(7g 放一边,2g 放另一边)

步骤:

我们从称出 90g 和 50g 开始分析,假设最开始有 140g 的盐。

  1. 第一次称量
    • 将 7g 和 2g 放在天平的一边(合计 9g),天平的另一边放盐,称出 9g 的盐。现在,剩下的盐是 140g - 9g = 131g。
  2. 第二次称量
    • 再称 50g:用 7g 的砝码放在一边,天平的另一边放盐,称出 50g。剩下的盐是 131g - 50g = 81g。
  3. 第三次称量
    • 再称 40g:用 7g 的砝码反向操作,称出 81g - 7g = 74g,剩下的 90g 盐。

至此,140g 被分成了 90g 和 50g,总共进行了 3 次称量

结论:

最少需要称 3 次 就可以将 140g 的盐分成 90g 和 50g。

数学证明题

连续的三个整数,其中两个是质数,并且三个都大于6,证明第三个能被6整除?

第一遍想胡诌,没胡诌过去,仔细想了下,这不就像codeforces上面的A和B嘛。

使用 ChatGPT 总是出现「Something went wrong」解决方案