判断101-200之间有多少个素数,并输出所有素数。用java编写!!并写出算法!!

如题所述

算法:
因为偶数永远不可能为素数,所以从101开始,每次增加2,也就是只考虑奇数
对于每一个奇数k,从2到k-1,如果在2到k-1之间找到能被k整除的数字,也就是约数,自然不是素数了。
明白了么?
public class CountPrimeNumber {

public static void main(String args[]){

int count = 0;

for(int i = 101; i < 200; i += 2){
if(isPrimeNumber(i)){
count++;
System.out.print(i + " ");
}
}

System.out.println("\n" + "Total "+ count + " prime number between 101 and 200");
}

private static boolean isPrimeNumber(int number) {

boolean isPrimeNumber = true;

for(int j = 2; j < number; j++){
if(number % j == 0){
isPrimeNumber = false;
}
}

return isPrimeNumber;
}
}

-----------
101 103 107 109 113 127 131 137 139 149 151 157 163 167 173 179 181 191 193 197 199
Total 21 prime number between 101 and 200
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-12-29
public class Test2 {
private int count=0;

public void print(){
for(int i=101;i<=200;i++){
if(isPrime(i))count++;
}
System.out.println();
System.out.println("总数是 "+ count);
}

public boolean isPrime(int num){
int half = num/2;
for(int i =2 ;i<=half;i++){
if(num%i==0)return false;
}
System.out.print(num+ " ");
return true;
}

public static void main(String[] args) {
Test2 t = new Test2 ();
t.print();
}
}
第2个回答  2010-12-29
这个不难吧我没学JAVA C 很简单的
相似回答