如果一个整数的所有因子(包括1,但不包括这个数本身)之和与该数相等,则称这个数位完数.例如6=1+2+3,所以6是完数,编写一个函数来判断m是否为完数,函数返回值为boolean.主调程序在列表框中

来源:学生作业帮助网 编辑:作业帮 时间:2024/07/17 09:23:58
如果一个整数的所有因子(包括1,但不包括这个数本身)之和与该数相等,则称这个数位完数.例如6=1+2+3,所以6是完数,编写一个函数来判断m是否为完数,函数返回值为boolean.主调程序在列表框中
xT]OA+FHE$!5dbv鴬n[-jlJ5~] ޝ)51i܏s93Eҫ/jxadRF1C6wHy弑&9#{^]d'tNTU; 'Y [0pʜX#l/дIzX+Zku'$ՀHH=znUfRԖIDoݒ 2~AW]Fܫ^/9Z̗ƂÖKZ@3z55A^\=OrLì&lgf @(|O~{y׾wBXrc|9;,[ _UEﰜ"NFIROC > NR S#8vftZp30eO.#V0Gb71 Xy _Ɔu)_ E`BA" P8!Sl O` Ag:#` r>.e=r\YbCoERĄ EÐVZMydK2A@{U, <NDhC=- nǵE! +I$ ZR6؅ }J^O@H-rr?Dׁvk_wrC

如果一个整数的所有因子(包括1,但不包括这个数本身)之和与该数相等,则称这个数位完数.例如6=1+2+3,所以6是完数,编写一个函数来判断m是否为完数,函数返回值为boolean.主调程序在列表框中
如果一个整数的所有因子(包括1,但不包括这个数本身)之和与该数相等,则称这个数位完数.例如6=1+2+3,
所以6是完数,编写一个函数来判断m是否为完数,函数返回值为boolean.主调程序在列表框中显示1000以内的完数.用VB编写.
我写的程序如下,他显示其中mid函数的length不能为0,而且显示结果如下
6=
28=
496=
没有后面因子相加.求高手指导.
Public Class f7
Private Sub f7_Load(ByVal sender As Object,ByVal e As System.EventArgs) Handles Me.Load
Dim i%,ss$
Label1.Text = "1000以内的完数为:" & vbCrLf
For i = 1 To 1000
If f(i,ss) Then
Label1.Text &= i & "=" & Mid(ss,1,Len(ss) - 1) & vbCrLf
End If
Next
End Sub
Function f(ByRef a As Integer,ByVal b As String) As Boolean
b = ""
Dim i%,sum%
sum = 0
For i = 1 To a \ 2
If a Mod i = 0 Then
sum += i
b &= i & "+"
End If
Next
If sum = a Then f = True Else f = False
Return f
End Function
End Class

如果一个整数的所有因子(包括1,但不包括这个数本身)之和与该数相等,则称这个数位完数.例如6=1+2+3,所以6是完数,编写一个函数来判断m是否为完数,函数返回值为boolean.主调程序在列表框中
Function f(ByRef a As Integer, ByVal b As String) As Boolean
应该变为:
Function f(ByVal a As Integer, ByRef b As String) As Boolean