若正整数A的所有因子(包括1但不包括自身,下同)之和为B,而B的因子之和为A,则称A和B为一对亲密数。
例如,又如,220的因子之和为l+2+4+5+10+11+20+22+44+55+110=284,而284的因子之和为1+2+4+71+142=220,因此,220与28...
例如,又如,220的因子之和为l+2+4+5+10+11+20+22+44+55+110=284,而284的因子之和为1+2+4+71+142=220,因此,220与284为一对亲密数。
求3000以内的亲密数对。
编写一个自定义函数过程facsum(n as integer),函数的返回值是给正整数n的所有因子(包括1但不包括自身)之和。
在窗体的click 事件过程中调用已定义的函数facsum,寻找并在窗体上输出3000以内的所有亲密数对。在输出每对亲密数对时,要求小数在前,大数在后,并去掉重复的数对。
实验课要写的,写了这怎么久还不会,,真的不会写啦,好难啊,,谢谢谢谢帮助了 急求!! 展开
求3000以内的亲密数对。
编写一个自定义函数过程facsum(n as integer),函数的返回值是给正整数n的所有因子(包括1但不包括自身)之和。
在窗体的click 事件过程中调用已定义的函数facsum,寻找并在窗体上输出3000以内的所有亲密数对。在输出每对亲密数对时,要求小数在前,大数在后,并去掉重复的数对。
实验课要写的,写了这怎么久还不会,,真的不会写啦,好难啊,,谢谢谢谢帮助了 急求!! 展开
1个回答
展开全部
Private Sub form_Click()
Dim i As Integer, j As Integer, k As Integer
For i = 1 To 3000
j = facsum(i)
k = facsum(j)
If i = k And i < j Then Print i; j
Next i
End Sub
Function facsum(n As Integer) As Integer
Dim s As Integer
好备 s = 0
For i = 1 To n \ 2
昌袜迹 耐并 If n Mod i = 0 Then s = s + i
Next i
facsum = s
End Function
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询