c++ 有一个六位数,其个位数字7,现将个位数字移至首位(十万位),而其余各位数字顺序不变,均后退一位,得到一个新的六位数,假如新数为旧数的4倍,求原来的六位数。
时间: 2024-04-18 16:31:23 浏览: 392
根据题意,我们可以设原来的六位数为 ABCDEF,其中 A 是十万位,B 是万位,C 是千位,D 是百位,E 是十位,F 是个位。
根据题意,个位数字为7,所以 F = 7。
将个位数字移至首位(十万位),其余各位数字顺序不变,均后退一位,得到的新六位数为 7ABCDE。
根据题意,新数为旧数的4倍,即有 4 * (7ABCDE) = 700000 + ABCDE。
化简得 4 * (100000A + 10000B + 1000C + 100D + 10E + F) = 700000 + 100000A + 10000B + 1000C + 100D + 10E + 7。
整理得 399999A + 9999B + 999C + 99D + 9E = 699993。
观察等式左边的系数,可以发现等式右边是6的倍数。所以我们尝试将等式右边的数除以6,即得到 699993 / 6 = 116665.5。
由于六位数是整数,所以我们需要找到符合条件的整数解。观察等式左边的系数,可以发现只有 E 的系数是9的倍数,所以 E 只能是0或9。
当 E = 0 时,我们可以算出 A = 3、B = 2、C = 1、D = 5。所以原来的六位数为 321507。
当 E = 9 时,我们可以算出 A = 8、B = 7、C = 6、D = 3。所以原来的六位数为 876309。
综上所述,原来的六位数可以是 321507 或 876309。
阅读全文