完全没头绪.
开始我误解了楼主意思.
考虑简单点的,假如是十位数的,就0到99总100个数
来个(0 1 2 3 4 5 6 7 8 9,0 1 2 3 4 5 6 7 8 9)一个公式是不是就数符合楼主的条件一次的排完了?
假如数要10个公式,那就(0,0 1 2 3 4 5 6 7 8 9)
(1,0 1 2 3 4 5 6 7 8 9)(2,0 1 2 3 4 5 6 7 8 9)
(3,0 1 2 3 4 5 6 7 8 9).(9,0 1 2 3 4 5 6 7 8 9)这样十个公式,对不?
然后我发现楼主是要排除11,22,33这些数的
那么就是0到99除掉11,22,33...99的总90个数
(0 1 2 3 4 5 6 7 8,9)保证了尾数为9的9个数
同理可以得到(0 1 2 3 4 5 6 7 9,8)等等
那么即是10个公式就可以完成这90个数了.
90个公式就可以,40个应该是不可以的...不知道怎么证明,说下90个公式的
个位数先定为9,然后十位数分0到8总9种情况,百位数为剩下的8种情况,这样子一个公式可以得到8个数字,如下
(0 1 2 3 4 5 6 7,8,9)得到尾数为89的8个数字
(0 1 2 3 4 5 6 8,7,9)得到尾数为79的8个数字
(0 1 2 3 4 5 7 8,6,9)得到尾数为69的8个数字
...
(1 2 3 4 5 6 7 8,0,9)得到尾数为09的8个数字
上面为个位数为9的数字,总共为8*9=72个,所用公式为9个
同理个位数为0-8的,所以共有10种情况,总数即为72*10=720个~
假如中间的数字为两个,如(0 1 2 3 4 5 6,7 8,9)这样,
那么就会出现789和879这两个数字没排到,如果再加上
(0 1 2 3 4 5 7,6 8,9)这样的,就会出现189,289,389等的重复
所以还是无法让中间的数字为两个.
综上,我觉得没可能用20个公式或者40个公式完成目标.
如果楼主有寻找出可以的方案,记得告知一下,谢谢~~