摩托车驾证科目四考题:计算8位数中的水仙花数
来源:百度文库 编辑:神马品牌网 时间:2024/05/10 06:25:26
王吉生 吉林
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位的数未免太大了吧,估计一般的微星计算机估计很难算出来,未来的并行运算的量子计算机应该可以的~~~
凌今的程序太土了....这还叫程序吗, 使用八个变量....