用“for”语句编写程序“输入一个数ABCD,判断其是否符合(AB+CD)(AB+CD)=ABCD”
问题描述:
用“for”语句编写程序“输入一个数ABCD,判断其是否符合(AB+CD)(AB+CD)=ABCD”
ABCD是据我理解应该是指从1000到9999这之间的数,即四位数.而AB应该是这四位数的前两位 CD同理
Private Sub Command1_Click()
Dim i As Integer
For i = 1000 To 9999
Next i
a = i \ 100
b = i - a * 100
If i = (a + b) * (a + b) Then
Print
Else
Print "没有符合条件的数"
End If
End Sub
不知道是哪里错了呢
答
楼上的,你写的好像是C代码的思路,如果用VB的话应该注意取整.
下面是VB的代码
Private Sub Command1_Click()
Dim a As Integer,b(1) As Long,c As String
For a = 1000 To 9999 Step 1
b(0) = Int(a / 100)
b(1) = Int(a Mod 100)
If (b(0) + b(1)) * (b(0) + b(1)) = a Then
c = c & CStr(a) & " "
End If
Next a
If c = "" Then
MsgBox "没有满足要求的数.",vbOKOnly
Else
MsgBox "满足要求的数为:" & c & " .",vbOKOnly
End If
End Sub