VB编程题何解啊?高手解下~~~~~~~~~~~~~~`

来源:百度知道 编辑:UC知道 时间:2024/05/16 12:07:10
设a为一个整数,如果能使a=xxa成立,则称a为"守形数".例如5=25,25=625,则5和25都是守形数.试编写一个Function过程Automorphic,其形参为一正整数,判断其是否为守形数,然后用该过程查找1到1000内的所有守形数.
题中是a的平方等于xxa,5的平方等于25,25的平方等于625

求1000以内的所有守形数(设 a为一整数,若a^2=XXa,则称 a为守形数)

法一 函数
Private Sub Cd1_Click()
Dim a As Long
For a = 1 To 1000
Y = SS(a)
If Y <> 0 Then Print a; "—"; Y
Next a
End Sub

Function SS(X As Long)
X1 = Trim(Str(X * X))
X2 = Trim(Str(X))
L = Len(X2)
If Right(X1, L) = X2 Then SS = X * X
End Function

法二 子程序
Private Sub Cd2_Click()
Dim a As Long
For a = 1 To 1000
Call SX(a)
Next a
End Sub

Sub SX(X As Long)
X1 = Trim(Str(X * X))
X2 = Trim(Str(X))
L = Len(X2)
If Right(X1, L) = X2 Then Print X; "—"; X * X
End Sub