Java 之 素数

题目:判断101-200之间有多少个素数,并输出所有素数。 

1.程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除, 则表明此数不是素数,反之是素数。

何谓素数?

维基百科:

质数,又称素数,指在一个大于1的自然数中,除了1和此整数自身外,无法被其他自然数整除的数(也可定义为只有1和本身两个因数的数)。

比1大但不是素数的数称为合数。1和0既非素数也非合数。素数在数论中有着很重要的地位。

最小的素数是2,也是素数中唯一的偶数(双数);其他素数都是奇数(单数)。质数有无限多个,所以不存在最大的质数。

围绕著素数存在很多问题、猜想和定理。著名的有孪生素数猜想和哥德巴赫猜想。

素数序列的开头是这样的:

2,3,5,7,11,13,17,19,23,29,31,37,
41,43,47,53,59,61,67,71,73,79,83,89,
97,101,103,107,109,113
 
编程实现:
import java.util.*;
public class PrimesTest{
  public static void main(String args[]){
    System.out.println("101~200之间的素数:");
    int count = 0;
    for(int i=101; i<=200; i++){
      boolean flag = true;
      for(int j=2; j<=Math.sqrt(i); j++){
        if(i%j == 0){
          flag = false;
          break;
        }
      }
      if(flag){
        System.out.print(i+" ");
        count++;
      }
      continue;
    }
    System.out.println();   
    System.out.println("101~200素数个数:"+count);
  }
}
posted @ 2012-01-24 19:56  qin520  阅读(548)  评论(0编辑  收藏  举报