//求出101-200之间的素数的个数,并打印出来
/*
思路 首先 素数不能被除1和本身意外的任何数整除 除数定义为num
1.除数从2----num-1 被除数定义为a 当num能被a整除时,结束当前循环 当num不能被a整除时,a+1 以此类推 直到 a= num-1
当同时满足 num % a != 0 && a == num/2 时,打印该数字, 计数器+1
简化 因为一个数除1和它自身外,最大的因数不会num/2还大,所以定义 a<=num/2
*/
class Sushu {
public static void main(String[] args) {
int connt = 0; //定义一个计数器,变量名为connt 用来记录素数的个数
System.out.println("101-200之间的素数有");
for (int num = 101; num<=200; num++) {
for (int a = 2; a<=num/2; a++) { //定义一个数字,从2开始 因为素数不能被除1和本身意外的任何数整除
if (num % a == 0) { //如果num能被2整除,直接结束该次循环 a+1
break; //这里这个为啥不能用continue啊?
}
if (num % a != 0 && a == num/2) { //如果num一直不能被a整除,并且a自增至num/2 可以证明这个数字为素数
System.out.print(num+","); //打印这个数字
connt++; //计数器+1
}
}
}
System.out.println();
System.out.println("素数的个数为:"+connt);
}
}
|
|