证明: 如果有数字x,9>=x>=0,则2x-9等于2x的各位数字相加。
假设:
- 我们有一个小于10的数字,用
x
表示。 x
乘以 2 后大于 9,即2x > 9
。
证明:
理解:当我们把一个一位数乘以2后,如果结果大于9,说明得到的是一个两位数。这个两位数的十位数一定是1,因为任何一个一位数乘以2最大也只能得到18。所以,这个两位数的个位数实际上就是原数乘以2后 超过10的部分。
表示乘积:
- 既然
2x > 9
,那么2x
一定是一个两位数。我们可以用ab
来表示这个两位数,其中a
是十位上的数字,a肯定是1,b
是个位上的数字。 - 因此,我们可以写出:
2x = 10a + b = 10 + b
。
- 既然
减去9:
- 当我们从
2x
中减去 9 时,实际上是将十位上的数字减1,个位上的数字不变。 - 因此,
2x - 9 = (10 + b) - 9 = 1 + b
。 - 可以看到,2x减去9之后,得到的结果是
1 + b
,而1是十位上的数字,b
是个位上的数字。 - 所以2x-9等于2x的各位数字相加。
- 当我们从
结论:
- 通过上面的推导,我们证明了:如果一个小于10的数乘以2后的结果大于9,则结果减去9等于将乘积的各位数字相加。
简单来说:
- 当一个一位数乘以2后变成两位数时,减去9的操作相当于把十位上的1借给个位,这样就得到了这个两位数的各位数字之和。
举个例子:
- 假设
x = 7
。 2x = 14
。14 - 9 = 5
。- 14 的各位数字之和也是 1 + 4 = 5。
因此,我们通过数学推导验证了Luhn算法中这个步骤的正确性。
总结:
Luhn算法中这个看似简单的减9操作,背后蕴含着数学上的原理。通过将两位数分解成十位和个位,并进行相应的运算,我们可以清晰地看到为什么减去9可以得到各位数字之和。