一位数特例
当其中一个乘数为 0 时,乘积结果为 0,这是一位数的特例
乘积最少是n+m-1位数
我们知道,最小的n位数是1后面跟着 n-1 个0 (类似100…0),可以表示为10n-1,最小的m位数是1后面跟着 m-1 个0 (类似100…0),可以表示为10n-1,两个最小的数字乘积值最小,对应的位数也最少。
乘积表示:10n-1 * 10m-1 = 10n-1+m-1 = 10n+m-2
即1后面跟着 n+m-2 个零,结果总共 n+m-1 位数
乘积最多是n+m位数
我们知道,最大的 n 位数是 n 个 9 (类似99…9),可以表示为 10n-1,最大的m位数是 m 个 9 (类似99…9),可以表示为 10m-1,两个最大的数字乘积值最大,对应的位数也最多。
乘积表示:(10n-1) * (10m-1) = 10n+m-10n-10m+1
证明 10n+m-10n-10m+1 < 10n+m
已知 n >= 1, m >= 1,那么10n >= 10, 10m >= 10, 可推出10n+10m >= 20,两边同时减去1得 10n+10m-1 >= 19。
原式10n+m-10n-10m+1 = 10n+m- (10n+10m-1),结合已推出的10n+10m-1 >= 19,可以得到 10n+m- (10n+10m-1) < 10n+m
证明 10n+m-10n-10m+1 > 10n+m-1
为比较 A 和 B 的大小关系,尝试比较 A / B 和1的大小关系。
A / B = (10n+m-10n-10m+1) / (10n+m-1) = 10 - 10 1-m - 101-n + 101-n-m = 10 - (10 1-m + 101-n - 101-n-m)
由于n,m >= 1,可以推出1-m <= 0,1-n <= 0,1-n-m <= -1
进而得到 0 < 10 1-m <= 1,0 < 10 1-n <= 1,0 < 101-n-m <= 0.1,10 1-m + 101-n - 101-n-m < 2
所以10 - (10 1-m + 101-n - 101-n-m) > 8,即A / B > 1
因此A大于B,得到 10n+m-10n-10m+1 > 10n+m-1
由于两个最大的数字乘积值大于 10n+m-1 并且小于 10n+m,那么其结果位数大于等于 n+m 位,小于 n+m+1位,乘积最多是 n+m 位数。