偶数当中只有2是素数;
奇数当中,对于一个奇数k来说,使用3~根号k的每一个整数j去除k,如果找到一个整数j能除尽k,则k不是素数;而只有测试完3~根号k中的所有整数j都不能除尽k,才能确定k是素数。
package com; public class app4_12 { public static void main(String[] args) { final int MAX=100; int j,k,n; System.out.println("2~"+MAX+"的所有素数:"); System.out.print("2\t"); n=1;k=3; do{ j=3;//重置j,从头来过 while(j<Math.sqrt(k)&&(k%j!=0)) j++; if(j>Math.sqrt(k)) {//3~根号k中的任何值都不除尽k,满足条件 System.out.print(k + "\t");//水平打印 n++; if (n % 10 == 0) System.out.println();//回车换行 } k+=2;//计算下个奇数 }while(k<MAX); System.out.println("\n共有"+n+"个素数"); } }