给定整数 N (0
例如:
N = 134,M = 143,// 1 + 3 + 4 = 1 + 4 + 3
N = 020,M = 101,// 2 = 1 + 1似乎可以添加0以使长度相等
N = 120,M = 201,// 2 = 1 + 1
问题是今天我写的一个书面测试问题,我不知道如何在 N 的大范围内解决它。
答案 0 :(得分:0)
将数字表示为数字字符串。 N 和 M 只是两个长度相等的字符串。
我们将 N 的数字编号为 N k ,其中 N 0 是最后一个(最右边)的数字。
设置 M 0 = N 0 - 1, M 1 = N 1 + 1, M i = N 否则我 。 M 的数字总和保持与 N 相同,因为您刚刚将1从一位移到另一位,但现在 M >的Ñ强>
当然,如果 N 0 = 0或 N 1 = 9,此技巧不起作用在这种情况下,转移到 N 1 和 N 2 以转移1等。
作为练习,证明以这种方式创建的 M 确实是满足条件的最小数字。 (或者反驳 - 我可能错了,特别是在 N 0 = 0的情况下,虽然我没有看到我在哪里错了。)