题目

有两个数分别为:

  1. 99¹⁰⁰
  2. 100⁹⁹

哪个数更大?

解答

字符长度比较

1
2
>>> len(str(99**100))
200
1
2
>>> len(str(100**99))
199

所以可以得出: 99¹⁰⁰ > 100⁹⁹

二项式展开

为了比较 99¹⁰⁰ 和 100⁹⁹,我们可以通过观察这两个数的大小关系来确定它们之间的关系。我们可以先将 100⁹⁹ 转换为相对于 99 的形式,然后通过比较幂次来确定这两个数的大小。

首先,我们可以将 100 表示为 99 + 1。

然后我们可以将 100⁹⁹ 表示为 (99 + 1)⁹⁹。根据二项式定理,我们可以将 (99 + 1)⁹⁹ 展开为:

(99 + 1)⁹⁹ = 99⁹⁹ + 99C1 × 99⁹⁸ × 1 + 99C2 × 99⁹⁷ × 1² + … + 99C98 × 99 × 1⁹⁸ + 1⁹⁹

同时将99¹⁰⁰展开为:

99¹⁰⁰ = 99⁹⁹ + 99⁹⁹ + 99⁹⁹ + … + 99⁹⁹

99⁹⁹ - 99C2 × 99⁹⁷ = 99⁹⁹ - 99 * 98 * 99⁹⁷ /2 > 1.

通过对每一项对比可知:

100⁹⁹ < 99¹⁰⁰

因此,99¹⁰⁰ 是这两个数中较大的一个。

函数求导

首先对问题进行转化:

同一个正数的集合,在总和为9900不变的情况,如果这个集合的数字相乘,在什么情况下乘积最大。

改用数学描述与解决问题过程如下图: