VB求出1000以内的所有阮生素数(如果两个素数之差为2,则称这两个素数为一对阮生素数,如3和5,)显示在列表框

2024-12-17 05:51:47
推荐回答(3个)
回答1:

private function fun1(a as integer )as boolean '首先假定这个数是素数fun1=true '循环检测,这里的sqr(n)是这个数的平方根,这样做的目的是减少循环次数(注意2和to间有空格)for i=2 to sqr(n)'判断这个数是否是素数,其中 n/i = int(n/i) 是一个判断条件(这个条件同样可以用 n/i=n\i 其中n\i是整除的意思),n/i是除,int(n/i) 是取整,比如3/2=1.5,int(3/2)=1,如果这个条件成立,那么这个数就不是素数,fun1 = false,已经确定是素数,那么exit for退出循环if n/i = int(n/i) then fun1 = false :exit for '其他就不一一解释了。next i
end function
for j=0 to 1000
if fun1(i) and fun1(i+2) then
list1.additem i
end if
next j

回答2:

1)生成1000 以内的素数表
2)循环查找相邻素数是否相差2 是添加到列表框,直到倒数第二个素数为止。

回答3:

望采纳!