河南省卫生人才招聘网:编写程序求出1000以内的所有质数?

来源:百度文库 编辑:杭州交通信息网 时间:2024/04/30 10:07:55
请用VB,还要有for,do阿什么的循环,谢谢!

Dim i As Integer, j As Integer
Dim Flag As Boolean
Dim s As String
For i = 2 To 1000
Flag = True
For j = 2 To i / 2
If i Mod j = 0 Then
Flag = False
Exit For
End If
Next j
If Flag Then s = s & Str(i)
Next i
Text1.Text = s

可用筛法求出
筛法是一种高效求质数的方法,是由希腊数学家埃拉托色尼首先提出的
1.将所有候选数(此题中为2到1000)放入筛中
2.找出筛中的最小数min,min必定为质数
3.把min放入质数集合中,然后将他的所有倍数从筛中筛去
4.重复2-3,直到筛空

package pck;
public class E09_FindPrimes {
public static void main(String[] args) {
int max=100;
if(args.length != 0)
max=Integer.parseInt(args[0]);
for(int i=1;i< max;i++) {
boolean prime=true;
for(int j = 2; j < i; j++)
if(i % j == 0)
prime=false;
if(prime)
System.out.println(i);
}
}
}

<<计算机程序设计艺术》内有介绍!

我可以用JAVA 编写吗