练习2

来源:互联网 发布:php面向对象面向过程 编辑:程序博客网 时间:2024/05/17 16:45

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

分析:判断一个数i是否是素数,可以通过i是否会被从2到√i之间的数整除来进行判断。如果i会被这之间的至少一个数整除,那么i就不是素数,反之,i就是一个素数。

代码:
public class Practice2 {public static void main(String[] args){int sum = 0;  //统计素数的个数System.out.print("101~200之间的素数分别是:");for(int i = 101; i <= 200; i += 2){  //偶数一定不是素数,所以自增2boolean flag = true;  //判断i是否为素数for(int j = 2; j <= Math.sqrt(i); j++){  //将i用2到√i之间的所有数除,判断是否能被整除,如果所有数都不能整除i,则i是素数if(i % j == 0){  //i % j == 0即i被j整除的话flag变为false,表示i不是素数flag = false;
break;}else{flag = true;  //表示i没被j整除}}if(flag == true){  //如果flag为true表示i是素数,素数个数+1sum++;System.out.print(i + " ");  //输出素数i}}System.out.println("\n" + "一共有" + sum +"个素数");  //输出素数的总数}}
结果: