本程序的功能是求出 n~m之间所有的可分解整数,输出在List1中。所谓可分解整数是指具有以下性质的数,它的各位数字之和等于其所有质因子各位数字之和。 例如 :整数121,各位数字之和是4,其质因子是11、11,质因子的各位数字之和也是4(1+1+1+1=4),所以121是可分解整数; 整数27,各位数字之和是9,其质因子是3、3、3,质因子的各位数字之和也是9(3+3+3=9),所以121是可分解整数。 试完善程序使其达到功能要求。 Private Sub Command1_Click() Dim n As Integer, m As Integer, k As Integer n = Text1 m = Text2 For k = n To m If sum1(k) = sum2(k) Then List1.AddItem k End If Next k End Sub Private Function sum1( ) As Integer '求一个数的各位数字之和 Do sum1 = n = n \ 10 Loop Until n = 0 End Function Private Function sum2(ByVal n As Integer) As Integer '求质因子及其各位数字之和 Dim k As Integer, n n As Integer k = 2 nn = n Do If n Mod k = 0 Then sum2 = sum2 + sum1(k) n = n \ k Else End If Loop Until k > nn / 2 End Function