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);
- }
- }