三生石梦幻:计算8位数中的水仙花数

来源:百度文库 编辑:高考问答 时间:2024/04/28 13:10:22
1个8位数,它所有的位数都乘上8次方,然后相加所得的和等于这个数。在所有的8位数中,计算出3个这样的数,并写出这3个数。

王吉生 吉林
3楼的谢谢 答的不错 不好意思我不太会编程回去试了下不运行啊 你用的时候运行好使吗 呵呵

一共三个:
24678050
24678051
88593477

Sub main()
Dim i As Long, str As String, tmp(0 To 7) As String, sum As Long
For i = 10000000 To 99999999
str = i
For j = 1 To 8
tmp(j - 1) = Mid(str, j, 1)
Next
sum = CLng(tmp(0)) ^ 8 + CLng(tmp(1)) ^ 8 + CLng(tmp(2)) ^ 8 + CLng(tmp(3)) ^ 8 + CLng(tmp(4)) ^ 8 + CLng(tmp(5)) ^ 8 + CLng(tmp(6)) ^ 8 + CLng(tmp(7)) ^ 8
DoEvents
If sum = i Then MsgBox i
Next
End Sub
还不错啊就是慢了点(才疏学浅)

这是典型的位数码和问题。

我以前研究过更一般的问题:

设正整数n=a_n*10^n+a_{n-1}*10^{n-1}+...+a_1*10+a_0
是十进制表达。
s^r(n)=(a_n)^r+...+(a_1)^r+(a_0)^r 称为r阶位数码和。
求n ,满足:n=s^r(n)

这是个很难的数论问题。 用初等方法很难解决它。不过r比较小时是可以直接计算的。

位数码和的问题非常广泛。奥数里就常常有这类题目。 许多国外搞数论的人,专门研究它。 你有兴趣的话可以去下列网站下载这方面的内容:http://www.math-cs.cmsu.edu/~curtisc/articles.html

如果你想了解一些关于位数码和的问题和结果,可以去下列博客看看。据我所知,该站的版主对位数码和问题也很有研究。 你要是对此感兴趣,可以给他留言的。

http://alggeo.spaces.live.com/blog/cns!882C398DA3E7C514!364.entry

还是我用C语音写吧,楼上的也不说明是什么语言也的,VB?

main()
{int i,j,k,l,m,n,o,p,q;
for(q=10000000;q<1000000000;n++)
{i=q/100000000;
...
...
p=%10;
if........

这是个电脑小程序,偶学过,但是不会。问问学C语言的。

不是太清楚了,8位的数未免太大了吧,估计一般的微星计算机估计很难算出来,未来的并行运算的量子计算机应该可以的~~~

凌今的程序太土了....这还叫程序吗, 使用八个变量....