1.判断一个数是否是幸运数(指凡前两位数字之和等于后两位数字之和的四位数).
Private Function xys(n As Integer) As Boolean Dim s As String, sum1 As Integer, sum2 As Integer s = CStr(n) For i = 1 To 2
sum1 = sum1 + Val(Mid(s, i, 1)) sum2 = sum2 + Val(Mid(s, i + 2, 1)) Next i
If sum1 = sum2 Then xys = True End Function
Private Sub Command1_Click() Dim i As Integer For i = 1000 To 9999
If xys(i) Then List1.AddItem i Next i End Sub
2.判断一个数是否是完数(一个数恰好等于它的因子之和).
Private Function ws(n As Integer) As Boolean Dim i As Integer, sum As Integer For i = 1 To n - 1
If n Mod i = 0 Then sum = sum + i Next i
If n = sum Then ws = True End Function
Private Sub Command1_Click() Dim i As Integer For i = 1 To 100
If ws(i) Then List1.AddItem i Next i End Sub
3.判断一个正整数是否为升序数.
Private Function sx(n As Integer) As Boolean Dim s As String, i As Integer s = CStr(n)
For i = 1 To Len(s) - 1
If Mid(s, i, 1) >= Mid(s, i + 1, 1) Then
'sx= False Exit Function End If Next i
sx = True End Function
Private Sub Command1_Click() Dim i As Integer
For i = 1000 To 9999
If sx(i) Then List1.AddItem i Next i End Sub
4.求两个数的最大公约数\\最小公倍数. 最大公约数:
Private Function gys(m As Integer, n As Integer) As Integer Dim r As Integer Do
r = m Mod n m = n n = r
Loop Until r = 0 'Loop While r <> 0 gys = m End Function
Private Sub Command1_Click() Dim m As Integer, n As Integer m = Val(Text1.Text) n = Val(Text2.Text) Text3.Text = gys(m, n) End Sub
最小公倍数:
Private Function gbs(m As Integer, n As Integer) As Integer Dim r As Integer, p As Long p = m * n Do
r = m Mod n m = n n = r
Loop Until r = 0 'Loop While r <> 0
gbs = p / m End Function
Private Sub Command1_Click() Dim m As Integer, n As Integer m = Val(Text1.Text) n = Val(Text2.Text) Text3.Text = gbs(m, n) End Sub
5.找出满足条件的三位同构数(X若出现在自己平方数的末三位,则X是同构数).
Private Function tgs(x As Integer) As Boolean Dim n As Long n = x ^ 2
If x = Val(Right(CStr(n), 3)) Then tgs = True End Function
Private Sub Command1_Click() Dim i As Integer For i = 100 To 999
If tgs(i) Then List1.AddItem i & \"^2=\" & i ^ 2 Next i End Sub
6.判断一个数是否为素数.
Private Function prime(x As Integer) As Boolean Dim i As Integer For i = 2 To Sqr(x)
'If x Mod i = 0 Then Exit Function 'Next i
If x Mod i = 0 Then Exit For
If i > Sqr(x) Then prime = True Next i
'prime = True End Function
Private Sub Command1_Click() Dim i As Integer For i = 100 To 999
If prime(i) Then List1.AddItem i Next i End Sub
7.统计字符串中0和1的个数.
Private Sub calc(s As String, sum1 As Integer, sum2 As Integer) Dim i As Integer For i = 1 To Len(s)
If Mid(s, i, 1) = \"1\" Then sum1 = sum1 + 1 Else
sum2 = sum2 + 1 End If Next i End Sub
Private Sub Command1_Click()
Dim s As String, sum1 As Integer, sum2 As Integer s = Text1.Text
Call calc(s, sum1, sum2) Text2.Text = sum1 Text3.Text = sum2 End Sub
8.计算某自然数所有因子之和.
Private Function yzh(n As Integer) As Integer Dim i As Integer For i = 1 To n - 1
If n Mod i = 0 Then yzh = yzh + i List1.AddItem i End If Next i End Function
Private Sub Command1_Click() Dim n As Integer
n = Val(Text1.Text) Text2.Text = yzh(n) End Sub
因篇幅问题不能全部显示,请点此查看更多更全内容