趣题:2n位平衡01串平均有多少个平衡前缀?

    这次的趣题来源于 UyHiP 今年八月份的谜题:概率均等地随机选取一个恰好含有 n 个 0 和 n 个 1 的 2n 位 01 串,这个 01 串平均会有多少个 0 和 1 个数相等的前缀(包括空串和整个串本身)?

    为了叙述简便起见,下面我们把所含 0 和 1 个数恰好相等的 01 串叫做平衡的 01 串。例如, 010010110011 就是一个平衡 01 串,它有四个平衡前缀,空串、 01 、01001011 以及整个 01 串本身。我们需要求出的就是,任取一个长为 2n 的平衡 01 串,平衡前缀的个数的期望值是多少。

Read more…

生成函数的妙用:平均抛掷多少次硬币才会出现连续两个正面?

    在一篇老日志中,我提到了一个经典的概率问题:平均需要抛掷多少次硬币,才会首次出现连续两个正面?它的答案是 6 次。它的计算方法大致如下。

    首先,让我们来考虑这样一个问题: k 枚硬币摆成一排,其中每一枚硬币都可正可反;如果里面没有相邻的正面,则一共有多少种可能的情况?这可以用递推的思想来解决。不妨用 f(k) 来表示摆放 k 枚硬币的方案数。我们可以把这些方案分成两类:最后一枚硬币是反面,或者最后一枚硬币是正面。如果是前一种情形,则我们只需要看前 k – 1 枚硬币有多少摆法就可以了;如果是后一种情形,那么倒数第二枚硬币必须是反面,因而这种情形下的方案数就取决于前 k – 2 枚硬币的摆放方案数。因此我们得到, f(k) = f(k – 1) + f(k – 2) 。由于摆放一枚硬币有两种方案,摆放两枚硬币有三种方案,因而事实上 f(k) 就等于 Fk+2 ,其中 Fi 表示 Fibonacci 数列 1, 1, 2, 3, 5, 8, …的第 i 项。

    而“抛掷第 k 次才出现连续两个正面”的意思就是,最后三枚硬币是反、正、正,并且前面 k – 3 枚硬币中正面都不相邻。因此,在所有 2k 种可能的硬币正反序列中,只有 Fk-1 个是满足要求的。也就是说,我们有 F1 / 4 的概率在第二次抛币就得到了连续两个正面,有 F2 / 8 的概率在第三次得到连续两个正面,有 F3 / 16 的概率在第四次得到连续两个正面⋯⋯因此,我们要求的期望值就等于:

     

Read more…

从“迷失的8”到生成函数:小数展开的秘密

    小学时经常在计算器上面按12345679这个神秘的8位数。这个数牛就牛在,它乘以9的结果正好等于111111111。你可以在计算器上输好12345679,然后问MM“你的幸运数字是多少”;如果她说“7”,你就在计算器上按“乘以63”,计算器上将会显示出清一色的7字,看上去无比壮观。
    假如123456789×9=1111111111的话,我倒不会觉得奇怪。网上流行过一个火星帖子,写了一大堆诸如111111111 * 111111111 = 12345678987654321的式子来展示数学之美,以至于大家会认为123456789×9的结果也一定是一串很有规律的数字。因此,如果我不在这里说一句123456789×9其实并不等于1111111111的话,估计很多人都发现不了问题。事实上,123456789×9=1111111101,偏偏就差一个“1”。而怪就怪在,去掉被除数中的数字“8”,偏偏又有了12345679×9=111111111,一个极其别扭的算式反而得到了完美的结果。不要让你的直觉被数学之美所蒙蔽,数学上有大量出人意料的、看上去很不对称的结论。
    为什么偏偏要少一个“8”呢?难道这真的是算术中的一个不可抹去的疤痕?我们急需要寻求一个解释,填补上算术中的这个不和谐的“漏洞”。一种解释是,我们看到了123456789×9=1111111101并不美观,想要对其进行改造,进而得到(123456789+1)*9 = 1111111101+9 = 1111111110,于是(123456789+1)*9/10 = 12345679*9 = 111111111。用这种办法的确可以解释“迷失的8”,不过这个解释并不漂亮。为了寻求一个更好的解释,我们来看一看111111111和9的关系。

Read more…

趣题:选取最少的质数集合构成发散的部分调和级数

    调和级数是指无穷级数1 + 1/2 + 1/3 + 1/4 + …,即取遍所有正整数n所得到的Σ1/n。虽然n趋于无穷时1/n趋于0,但这个无穷级数却是发散的。一个经典的证明是,把1/3和1/4都缩小到1/4,把1/5、1/6、1/7和1/8都缩小成1/8,把1/9到1/16这8个数全部缩小为1/16,以此类推,这样就可以得到无穷多个1/2,它们的和显然是无穷大的。
    现在,让我们把所有的质数划分为若干个子集,其中质数p属于编号为floor(p/1000)的那个子集(floor()是取下整的意思)。现在,你可以用这样的方式来定义一个“部分的”调和级数:先选出一些质数集合出来,然后列出所有这样的数,它所有的质因子都落在你选的集合里。显然,这样的数有无穷多个,它们的倒数和就形成了一个部分调和级数。例如,选择子集①和子集②,我们可以得到一个无穷级数Σ1/n,其中n取所有这样的数,它可以表示为大于等于1000小于3000的质数的乘积。
    前面我们已经看到,选择所有的集合所构成的无穷级数是发散的。现在的问题是,要想得到一个发散的级数,最少需要选取多少个集合?

Read more…

欧拉的一篇研究报告:关于整数因子和的一个非常奇特规律的发现

    《数学与猜想》里引用了一段欧拉的这篇经典的研究报告,写的非常精彩。你可以从中看到一个数学家是如何进行发现、归纳、猜想和论证的。你可以看到两个完全不同的数学模型里出现了惊人的巧合,通过挖掘它们之间的内在联系,最终完成了伟大的统一。
    没扫描仪,拿相机拍的,效果非常不好,见谅了!
    另外,拜托大家不要盗链下面的图片。