此速算法必須限定 b > 0 才正確 !
觀察算式
99*43 = 43*(100-1) = 4300 - 43 = 4200 + 100 - 43 = 4257
同理可得
99*(ab) = (ab)*(100 -1) = (ab00) - (ab) = (((ab) -1)00) + 100 - (ab) = a*1000 + (b - 1)*100 + (9 - a)*10 + (10 - b)
因此 b > 0 時,
千位數字為 a, 十位數字為 (9 - a),
以這兩個數字做成的二位數即 10*a + 9 - a = 9a + 9 = 9*(a+1)
而百位數字為 (b -1), 個位數字為 (10 - b),
以這兩個數字做成的二位數即 10*(b-1) + 10 -b = 9*b
b = 0 時,
千位數字為 (a -1), 十位數字為 (9 - a + 1),
以這兩個數字做成的二位數為 10*(a - 1) + 9 - a + 1 = 9*a
而百位數字為 9, 個位數字為 0,
以這兩個數字做成的二位數為 90
推廣型式示例 ( 其中 a,b,c,d 皆大於零 )
999*(abc) 的十萬位與百位所形成的二位數字為 9*(a+1)
萬位與十位所形成的二位數字為 9*(b+1)
千位與個位所形成的二位數字為 9*c
例:
999*125 = 1,8, 2,7 ,4,5 的某個排列 = 124875
999*226 = 2,7, 2,7 ,5,4 的某個排列 = 225774
9999*(abcd) 的則是
9*(a+1), 9*(b+1), 9*(c+1), 9*d
例:
9999*1235 = 1,8, 2,7 ,3,6, 4,5 的某個排列 = 12348765
9999*2267 = 2,7, 2,7 ,6,3, 6,3 的某個排列 = 22667733
[ 本帖最後由 Joy091 於 2011-12-5 01:26 PM 編輯 ]