其实这个问题应该考虑三个数就好
A,k
1.最高位-1低于A的最大值
2跟3用规则来定
考虑A=124351234,k=3.
1.取99999999
(A的高位1-1为0 降一位取最大)
2跟3:
先补满能补满的
即124
接下来遇到3,不在k个数(1,2,4)里面
从1,2,4组
大于351234的极小值
小于351234的最大值
就是411111跟244444
得到:
124411111,
124244444,
99999999
再从这三个数中取差距A最小的
最多取到两个
得到124,411111为解
例子2
A1312,k2
1.取999
2.
补满131,从1,3取低于2的最大值跟高于2的最小值,即1跟3
得
1311
1313
999
上面两数跟A差距都是1
此例解为1311与1313
例子3
A1000,k1
1.取999
2.补满1
取大于000的极小值与小于000的极大值
只有111
得
1111
999
而999与A差距最小
此例解为999
例子4
A6000,k1
1.取5555
2.补满6
取大于000的最小值与小于000的最大值
即666
得
5555
6666
则5555为解