设有n盏灯,放在一排。从1 到 n依次顺序编号。有 n个人也从1到n依次编号。第1个人(1号)将灯全部关闭,第2个人(2号)将凡是2的倍数的灯打开,第3个人(3号)将凡是3的倍数的灯做相反处理(该灯如果为打开的,则将它关闭,如关闭的将它打开),以后的人和3号一样,将凡是自己号数倍数的灯做相反处理。问当n个人操作后,哪几盏灯是亮的。(亮灯为0,关闭为1)
为了实现这一目标,完善下列程序,使之能完成该功能。
Private Sub command1_click()
Const n=20
Dim i as integer,j as integer
Dim a(1 to n) as integer
For j=1 to n
a(j)=0
next j
for i=1 to n
for j=1 to n
if j mod i=0 then
End if
Next j
Next i
For j=1 to n
If then list1.additem str(j)
Next j
End Sub
答案:【1】a(j)=1-a(j)【2】a(j)=0