蜡笔画作品一等奖图片:怎样编一个程序,求出2、3、4位数中的所有armstorng数?

来源:百度文库 编辑:查人人中国名人网 时间:2024/05/06 01:50:57
一个n位数的各位数的n次方之和等于这个数,称为armstorng,(如153等于1的三次方加5的三次方加3的三次方,1634等于1的四次方加6的四次方加3的四次方加4的四次方)

好像是属于模块化程序设计,要用VB语句
拜托各位高手把程序的语句告诉我,thanks a lot!

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim i, j, k, l As Byte '四位数所在变量
Dim v(10000) As Byte '次方存储数组
Dim m As Byte '次方累加变量

Dim x As Int32 '生成的四位数
Dim y As Int32 '各位数字m次方累加之和
Dim s(10000) As Int32 'armstorng数存储数组
Dim n As Int32 = 0 'armstorng数各位数的次方数
For i = 0 To 9
For j = 0 To 9
For k = 0 To 9
For l = 0 To 9
If (i = 0 And j = 0 And k = 0) Or (i = 0 And j = 0 And k = 0 And l = 0) Then '屏蔽一位数的情况

Else
x = (i * 1000) + (j * 100) + (k * 10) + l
For m = 1 To 15

y = i ^ m + j ^ m + k ^ m + l ^ m
If y = x Then
s(n) = y
v(n) = m
n = n + 1
Exit For
ElseIf y > x Then
Exit For

End If

Next
End If
Next
Next
Next
Next
For i = 0 To n
TextBox1.Text = TextBox1.Text + Str(s(i)) + " " + Str(v(i)) + vbCrLf
Next
End Sub

没有经过优化,很多地方有冗余的程序执行时间,你慢慢优化吧