本帖最后由 handy 于 2016-6-24 11:39 编辑
/*
需求:
(1)打印1-100之间的所有素数及个数
(2)每行输出5个满足条件的数,之间用空格分隔
(3)如果一个大于1的自然数,这个数只能被1和其本身整除,这个数就叫素数。
(4)如:2 3 5 7 11
*///方法1: 统计能整除的除数的个数,以此判断是否为素数
class Homework2 {
public static void main(String[] args) {
int count = 0;
for (int i = 2;i <= 100 ;i++ ) {
int count1 = 0; // 记录能整除的个数
for (int j =2;j < i ;j++ ) {
if (i % j == 0) {
count1 ++;
}
}
if (count1 == 0) {
count++;
System.out.print(i + " ");
if (count % 5 == 0 ) {
System.out.println();
}
}
}
System.out.println("1-100的素数共有: " + count);
}
}
//方法2:通过返回能否整除其余数的boolean值,判断是否为素数
class Test03 {
public static void main(String[] args) {
//1.定义计数器统计素数的个数
int count = 0;
//2.遍历判断是否是素数并打印
for (int i = 2; i < 100; i++) {
if (isPrime(i)) {
count++;
System.out.print(i + " ");
if(count%5==0) {
System.out.println();
}
}
}
System.out.println();
System.out.println("1-100的素数的个数为:" + count);
}
//判断是否是素数的方法
public static boolean isPrime(int num) {
for (int x = 2; x < num; x++) {// 从2到99来寻找
if ((num % x) == 0) {
return false;
}
}
return true;
}
}
|
|