VB问题~~~~~~找数

来源:百度知道 编辑:UC知道 时间:2024/05/31 04:08:14
我想找四位数 前俩位数一样 后俩位数也一样的 而且这四位数还是某些数的平方

Private Sub Command1_Click()
For a = 1 To 9
For b = 0 To 9
For c = 0 To 9
For d = 0 To 9
If a = b And c = d Then x = a * 1000 + b * 100 + c * 10 + d
For e = 10 To 99
i = e * e
If i = x Then Print x;
Next e
Next d
Next c
Next b
Next a
我这个程序出错在那里呢?
为什么老是输出7744

下面的代码可能更科学:
Private Sub Command1_Click()
For a = 1 To 9
For b = 0 To 9
m = 1000 * a + 100 * a + 10 * b + b
For i = 30 To 99
If i * i = m Then n = n & m
Next i, b, a
Print n
End Sub

程序好像没有错,正确结果不是这个吗?

~~~~~~~~~~
对了呵呵,没加end if

Private Sub Command1_Click()
For a = 1 To 9
For b = 0 To 9
For c = 0 To 9
For d = 0 To 9
If a = b and c = d Then
x = a * 1000 + b * 100 + c * 10 + d
For e = 10 To 99
i = e * e
If i = x Then Print x;
Next e
End If
Next d
Next c
Next b
Next a
End Sub

测试过,符合“前俩位数一样 后俩位数也一样的”数一共90个,符合“而且这四位数还是某些数的平方”的只有一个:7744
For a = 1 To 9
For b = 0 To 9
For c = 0 To 9
For d = 0 To 9
If a = b And c = d Then
x = a * 1000 + b * 100 + c * 10 + d
If Sqr(x) = Int(Sqr(x)) Then Print "x=" & Str(x);
End If
Next d
Next c
Next b
Next a