分析以下需求,并用代码实现:
(1)打印1-100之间的所有素数及个数
(2)每行输出5个满足条件的数,之间用空格分隔
注:素数就是除1和他自身以为,不能被别的自然数整除
这是一道简单的编程逻辑题,大眼一看似乎很简单,但是电脑编程起来就不那么简单了,因为我们搞清楚逻辑问题:
这个数不能被其他数整除,当然肯定是小于它的数(被除数除以除数等于商)。
计算机想要知道它是否能被小于它的数整除,只能一个一个的去算,那么我们就设置一个循环:
int i , j , count = 0;
for (i = 2 ; i <= 100 ; i++){
//让i与每个小于它的数相除,如果可以整除,说明它不是素数,直接跳过这个循环
for (j = 2 ; j < i ; j++) {
if (i % j == 0) {
break;
}
}
//如果上面这个循环一直循环下去,最后实现j++,不符合条件,跳出循环,那么i = j
if (i == j) {
//为了使素数五个为一行输出
if (count % 5 == 0) {
System.out.println();
}
count++;
//println为输出并换行
System.out.print(i + " ");
}
}
}