素数的概念:素数(Prime Number)是指只能被1和自身整除的大于1的自然数。换句话说,素数只有两个正因数:1和它本身。
A1.0版本1.思路是输入一个数,内存循环判断是否存在一个数可以让当前数整除,有则跳出没有就继续执行,直到内存循环到2为止,代码如下:
public static void suShu() {
a://标志,当执行内层continue时,continue直接跳出到外层循环
for (int i = 101; i <= 200; i++) {
for (int j = i-1; j >1; j--) {
if (i % j == 0) {
continue a;//如果存在可整除的数跳过当前循环到标志位a的地方
}
}
System.out.print(i+" ");
}
}
B.
- 主函数 (
main
方法):调用printPrimesInRange
方法来打印101到200之间的所有素数。 - printPrimesInRange 方法:
- 参数
start
和end
定义了要检查的范围。 - 使用
for
循环遍历从start
到end
的所有整数。 - 对于每个数,调用
isPrime
方法检查其是否为素数。 - 如果是素数,则打印该数。
- 参数
- isPrime 方法:与之前的解释相同,用于检查一个给定的数是否为素数。
/**
* 打印出指定范围内的所有素数。
*
* @param start 范围的起始值
* @param end 范围的结束值
*/
public static void printPrimesInRange(int start, int end) {
for (int i = start; i <= end; i++) {
if (isPrime(i)) {
System.out.print(i+" ");
}
}
}
/**
* 检查给定的数是否为素数。
*
* @param num 要检查的数
* @return 如果是素数返回 true,否则返回 false
*/
private static boolean isPrime(int num) {
if (num <= 1) {
return false; // 小于等于1的数不是素数
}
for (int i = 2; i <= Math.sqrt(num); i++) {
if (num % i == 0) {
return false; // 找到了除了1和本身以外的因数
}
}
return true; // 没有找到除了1和本身以外的因数
}
结果: