有一个信息奥赛题,麻烦大家一起帮忙一下,谢谢!

来源:百度知道 编辑:UC知道 时间:2024/06/20 08:14:52
已知一个正整数的个位数为7,将7移到该数的首位,其它数字顺序不变,则得到的新数恰好是原数的7倍,编程找出满足上述要求的最小自然数。

1014492753623187,答案就是这个。编程很简单,我没有编程,记得高中时做过。说说解题思路:
因直接设所求的最小自然数比较难解,故设这最小自然数去个位后的数值为X,所求的最小自然数可表示为:
10*X + 7

设最小自然数为N位数,将个位数字放到首位后可表示为
7 * [EXP(+N)] + X
--> EXP(+N)表示10的Y次幂
--> N 为 1,2,3,...正整数

那么就会有以下等式:
(10*X + 7)* 7 = 7 * [EXP(+N)] + X

写出X的表达式:
X = {7 * [EXP(+N)] -49}/69

再看看7 * [EXP(+N)]只可能为如下的数值
70,700,7000,70000,...,7乘以10的N次方

用excel写几个参数一个个试,最后试到 7乘10的15次方,X才为正整数。所以X就等于
X = 101449275362318

最小的自然数就是1014492753623187。

OVER...