对于1位数字,请注意
4 + 5 + 6 == 5 * 3
对于2位数字:
(44 + 45 + 46) + (54 + 55 + 56) + (64 + 65 + 66)== 45 * 3 + 55 * 3 + 65 * 3== 55 * 9
等等。
在一般情况下,
n-digits数字,有3
ň其中包括
4,
5,
6只是,他们的平均价值是完全
5...5(
n位)。使用代码,它们的总和是
('5' * n).to_i * 3 **n(Ruby)或int('5' * n) * 3 ** n(Python)。您计算高达6位数号码,然后减去的总和
666555来
666666。
PS:对于像这样的小数
666554,使用模式匹配足够快。(示例)



