面试题目:判断
101-200
之间有多少个素数(质数),并输出所有素数。
程序分析:判断素数的方法:用一个数分别去除
2
到
sqrt(
这个数的平方根
)
,如果能被整除,
则表明此数不是素数,反之是素数。
分析:求质数是在面试中最喜欢考的题型之一,下面可以来看一下具体代码
@Test
public
void
fun02() {
int
count1
= 0,
count2
= 0;
for
(
int
i
= 101;
i
<= 200;
i
++) {
// 每一个数一个个接受检验是否为素数
for
(
int
j
= 2;
j
<= Math.sqrt(
i
);
j
++) {
if
(
i
%
j
!= 0) {
//不能被整除累计一次
count1
++;
}
}
// 转为int的类型
int
num
= (
int
) Math.sqrt(
i
);
//如果累计次数num - 1个数相等则为素数
if
(
count1
== (
num
- 1)) {
System.
out
.println(
"素数:"
+
i
);
count2
++;
}
// 统计素数个数
count1
= 0;
}
System.
out
.println(
count2
);
}