armstrong数是不是各位立方和等于数本身?
Sub ArmStrong()
Dim h As Integer
Dim i As Integer
Dim j As Integer
Dim k As Integer
For h = 0 To 9
For i = 0 To 9
For j = 0 To 9
For k = 0 To 9
If 1000 * h + 100 * i + 10 * j + k > 9 And 1000 * h + 100 * i + 10 * j + k = h * h * h + i * i * i + j * j * j + k * k * k Then
Dim ii As Integer
ii = 1000 * h + 100 * i + 10 * j + k
MsgBox ii
End If
Next
Next
Next
Next
End Sub
答案:153/370/371/470
Sub armstrong()
Dim i, j, s, num, arr() As Integer
Dim result_num as string
num = 1
For i = 10 To 9999
s = 0
For j = 1 To Len(CStr(i))
s = s + (Val(Mid(CStr(i), j, 1))) ^ 3
Next
If i = s Then
ReDim Preserve arr(num) As Integer
arr(num) = i
num = num + 1
End If
Next
For i = 1 To num - 1
result_num = result_num & arr(i) & Chr(13)
Next
MsgBox result_num
End Sub