【发布时间】:2021-09-13 03:11:38
【问题描述】:
对于 n 个以 x 为底的二进制数字,最大值将为:
x^(n-1) + x^(n-2) + ... + x^1 + x^0
通过使用几何级数, r=1/x 使用 n 个有限数之和的公式我得到:
(x^n - 1) / (x - 1).
但我的答案应该是 x^n - 1.(公式:M= x^n - 1)
【问题讨论】:
标签: math
对于 n 个以 x 为底的二进制数字,最大值将为:
x^(n-1) + x^(n-2) + ... + x^1 + x^0
通过使用几何级数, r=1/x 使用 n 个有限数之和的公式我得到:
(x^n - 1) / (x - 1).
但我的答案应该是 x^n - 1.(公式:M= x^n - 1)
【问题讨论】:
标签: math
你是正确的几何级数 x0 + x1 + x2 + ... + xn-1 确实是 (xn - 1) / (x - 1)。例如,如果我们选择 x = 10(以 10 为底)和 n = 3(以 10 为底的三位数字),我们会返回
1 + 10 + 100 = (1000 - 1) / 9 = 999 / 9 = 111。
但是,最大的三位数是 999。通过查看上面的总和,您可能会了解为什么我们偏离了 9 倍。在写出以 10 为底的数字时,我们会通过让每个数字为 9 而不是 1 来最大化我们的数字。更一般地,在基数 x 中,我们通过让每个数字为 x - 1 来最大化我们的值。这意味着最大值是
(x - 1)(x0 + x1 + x2 + ... + xn-1 ) = (x - 1)(xn - 1)/(x - 1) = xn - 1.
这是另一种更简单的查看方式。你可以用 n+1 位组成的最小数是多少?那将是 xn。由于这是最小的 (n+1) 位数,最大 n 位的数必须是负一,给出 xn - 1 而无需讨论几何级数.
【讨论】: