如果一个自然数的每个质因数都至少是二重的(即每个质因数乘方次数都大于或等于2),如整数72=2^3*3^2(即72=2*2*2*3*3),判断2~72所有数中全部质因子的乘方次数,找出质因子“2”乘方次数为3;质因子“3”乘方次数为2,不是72的质因子,那么这个自然数称为“漂亮数”。小李编写了一个验证“漂亮数”的VB程序。在文本框输入小于1 000的正整数,单击“检查”按钮在列表框中显示该数的质因子及该因子乘方数,在标签Label1中显示判断结果,在标签Label4中显示所有质因数的分解过程。程序运行界面如下图所示。
实现上述功能的VB代码如下,但加框处代码有错,请改正。 Private Sub Command1_Click() Dim a(1 To 999) As Integer Dim n As Integer Dim s As String For i=1 To 999 a(i)=0 Next i n=Val(Text1.Text) s =“” Do While n<>1 ‘分解质因子过程并统计质因子出现次数 For i = 2 To n Do While n Mod i = 0 s = s&“ ”&i a(i)= a(i)+1 ‘① Loop Next i Loop Label4.Caption =“质因子分解过程:” +s For j = 2 To 999 ‘判断是不是漂亮数 If Then ‘② Label1.Caption = “不是漂亮数” Exit For Else Label1.Caption =“漂亮数” End If Next j For j = 2 To 999 ‘在列表框输出质因数及对应的乘方数 If a(j)>0 Then List1.Additem Str(j)+“ ”+Str(a(j)) End If Next j End Sub ① ②
答案:【1】n = n\i或n = n/i【2】a(j)>0 And a(j)<2