用VB写一个输出吸血鬼数的程序

来源:百度知道 编辑:UC知道 时间:2024/09/23 17:24:24
若合成数 v有偶数个位n,且是n/2个位的正整数x和y的积,而且x和y不是同时以0为个位数,组成x和y的数字,刚好就是v的数字,那么v就是吸血鬼数(vampire number),而x和y则称为尖牙。
例如1260是吸血鬼数,21和60是其尖牙,因为21×60=1260。可是126000=210×600却非,因为210和600都以0为个位数。

求能在给出的范围内找出吸血鬼数的VB代码
谢谢!!!
最初几个吸血鬼数为:
1260, 1395, 1435, 1530, 1827, 2187, 6880, 102510, 104260, 105210, 105264, 105750, 108135, 110758, 115672, 116725, 117067, 118440, 120600, 123354, 124483, 125248, 125433, 125460, 125500
好吧,满意的话两道题都给你,200哦

汗。。算出四位的数都要运行半天。。

Private Sub Command2_Click()
Const st = 10
Const ed = 10000
For i = st To ed

n = Len(CStr(i))
If n Mod 2 = 0 Then

x0 = Left(CStr(i), n / 2)
x = ""
y = Right(CStr(i), n / 2)

For j = Len(x0) To 1 Step -1
x = x & Mid(x0, j, 1)
Next j

If CLng(x) * CLng(y) = i And (Right(x, 1) <> 0 Or Right(y, 1) <> 0) Then
Print i, x; "X"; y; "="; CStr(i)
End If

End If

Next i
End Sub