vb编程高手 ~急求!!

来源:百度知道 编辑:UC知道 时间:2024/05/13 08:01:29
编一程序,找出2~999之间所有同构数,所谓同构数,就是它出现在它平方的右侧,r如5的平方等于25,25的右端是53所以5是个同构数。各位大虾帮忙一下!

我的调试通过了,结果都算出来了:25、36、625
Dim i As Integer
For i = 2 To 999
If Val(Right(Str(i ^ 2), 1)) ^ 2 = i Then
Print i
End If
Next i
For i = 2 To 999
If Val(Right(Str(i ^ 2), 2)) ^ 2 = i Then
Print i
End If
Next i

算法是这个~~ 程序要自己写哦
if n = (n*n) mod 10
'是同构数
else
'不是

vb忘了,写段伪代码
for i = 2 to 999
if i <10
if n=(n*n) mod 10
'是同构数
else
'不是
endif
else
if i <100
if n=(n*n) mod 100
'是同构数
else
'不是
endif
else
if n=(n*n) mod 1000
'是同构数
else
'不是
endif
endif
endif
endfor

for i=2 to 999
if cstr(i)=cstr(right(i^2,len(i))) then
s=s & i & "是同构数" & vbcrlf
end if
next
msgbox s

VBS写的,参考!5,6,25,76,376,625