判断101-200之间有多少个素数,并输出所有素数。
1.程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,
则表明此数不是素数,反之是素数。
[java] view plaincopy
import java.util.*;
public class PrimeTest
{
public static void main(String[] args)
{
int x=0;
Vector v = new Vector();//集合,用来装所有的素数
for(int i=101;i<=200;i++)
{
boolean b=true;//标签为b为真
for(int j=2;j {
if(i%j==0)//求余数是否为0
{
b = false;//如果为0, 将标签设置为false
break; //可以整除就跳出这个循环
}
}
if(b==true)//
{
v.add(i);//将符合要求的i加到集合里
x++; // 素数个数加1
}
}
System.out.println("100到200中间有 "+x+" 个素数");
System.out.println("素数为:/n"+v);
}
}
private static final int START = 101;
private static final int END = 200;
public int prime(){
int sum = 0;
for(int i = STRAT;i <= END;i ++){
if(isPrime(i)){
sum ++;
System.out.println(i);
}
return sum;
}
private boolean isPrime(int number){
int max = (int)Math.sqrt(i);
for(int i = 2;i <= max;i ++)
if(number % i == 0)
return false;
return true;
}
代码:
1234567891011121314151617181920public class Test { public static final void main(String[] args) { // 记录素数个数 // 素数概念:除了1和它本身以外不再有其他的除数整除 int num = 0; for (int i = 101; i < 201; i++) { for (int k = 2; k < i; k++) { int remainder = i % k; if (k == i - 1) { ++num; System.out.println("素数:" + i); } else if (remainder == 0) {// 余数等于0说明有其他的除数整数,说明不是素数数 break; } } } System.out.println(num + " 个"); }}