关于“水仙花数”的背景知道,请查阅百度百科:
http://baike.baidu.com/view/152077.htm
--------------------------------------------------------------------------------
这里解决一个问题:
质数有无限多个,质数无上界,欧几里德等诸多数学家对此已给出证明;而“水仙花数”是有限多个,存在上界。通过简单的数学方法,可以给出明确证明。
--------------------------------------------------------------------------------
n 位自然数,最大值是 ma(n) = 99...9 = 10^n - 1,共有 n 个 9,最小值为 mi(n) = 10...0 = 10^(n-1),共有 n - 1 个零。设 Nar ( ma(n) ) 表示计算 ma(n) 的水仙花值,简记为 Nar(n),则 Nar(n) = n*(9^n)。
这里解释一下“水仙花值”,“水仙花数”的算法本身提供了一种对自然数的处理算法,即为 n 位自然数各位数的 n 次方和,在此,我将之定义为数 n 的“水仙花值”。
考查 ma(n)、Nar(n)、mi(n) 随 n 的变化过程:
不太好看呵……横轴即为 n,表示自然数位数,蓝线表示“上界”,即为 ma(n);红线表示“下界”,即为 mi(n);绿线表示“水仙花”,即为 Nar(n)。仔细观察发现,绿线分别与蓝线和红线存在交点,与蓝线交于 33 与 34 之间,与红线交于 60 与 61 之间,将图放大可得两点分别为 33.2597 与 60.8477。当然了,非整数值是无意义的,图像本身就是整数离散的,显示为连续的线只是为了“好看”,所以我们只知道分别介于 33 与 34 之间和介于 60 与 61 之间就好。
先解释绿线与红线的交点。由 Nar(n) 和 mi(n) 的定义式,可得从 n = 61 开始,n 位数的最大值的“水仙花值”也比不过 n 位数的最小值了……因此,这以后的水仙花数就根本不可能存在了。
水仙花数存在的一个必要条件,就是对于某一 n 位自然数,其“水仙花值”必须达到 n 位,它才有机会等于自身,从而成为一个“水仙花数”。而 n = 61 以后,绿线将永远低于红线,因此这一必要条件是永远也达不到的。因此,61 位数起,水仙花数将不再存在。n = 61 可以做为水仙花数序列位数的一个上界。
上界毕竟不是上确界,上界的存在只能表明“有限”,但不能说明“界”在哪儿。
在我当前所引用的百度百科中,编辑者陈述上界可以紧致到 n = 34,我认为值得商榷,该编辑者一定也得出了我上述所引函数图像,可能其由绿线与蓝线的交点位置推断“理论上”n = 34 为上界。其实绿线与蓝线的走向仅仅表示了 n 位自然数的最大值与其“水仙花值”的关系,并不能反映 n 位自然数的全部状况。为了让“水仙花数存在的必要条件”适用范围放宽,我在此以 ma(n) 为参考,尽可能拉近 n 位自然数与其水仙花值的距离,s(n) = 199...9 (n - 1 个 9)是一个不错的参考,该数的水仙花值比 Nar(n) 小 9^n = 9 * 9^(n-1),而数本身比 ma(n) 小 9 * 10^(n-1),相当于拉近了差距对吧。
令 Ns(n) 表示 s(n) 的水仙花值,s(n) = 199...9 (n - 1 个 9),得图像:
发现交点介于 52 与 53 之间。也就是说,百度百科编辑者一下子将上界降到 n = 34 的动作有点“太猛了”,把上界搞得“太紧了”,这么“爽”,但结论是有问题的。
该图绿线在 52 以前仍然高于蓝线,表示介于 [ mi(n), s(n) ] 的 n 位水仙花数还是“有机会存在”的。由此可证明百度百科中,n = 34 这个上界给得不对。
--------------------------------------------------------------------------------
最后一个问题了:上确界是多少?相当于求出最大的水仙花数了,这个,谁有大数库,算吧……我就懒了……
--------------------------------------------------------------------------------
关于 153 这个水仙花数的有趣性质,参见本博文:
http://blog.csdn.net/hikaliv/archive/2009/07/16/4352851.aspx
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/hikaliv/archive/2009/07/16/4354231.aspx