在一行上输入一个正整数
。
如果范围内不存在符合条件的合数,则输出
。否则,输出一个正整数代表答案。
如果存在多个解决方案,您可以输出任意一个,系统会自动判定是否正确。注意,自测运行功能可能因此返回错误结果,请自行检查答案正确性。
1
-1
在这个样例中,我们需要在
区间内找到一个合数。根据定义,
不是合数,
是质数,所以范围内不存在合数。
5
8
在这个样例中,我们需要在
区间内找到一个合数。根据定义,
均是合数,所以输出任意一个均为正确答案。
入门题,判断是否有非质数,判断x是否为质数判断x % i是否为0,为0则不是质数 。(i从2到i <= 2 / x)
import java.util.Scanner;
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
// 注意 hasNext 和 hasNextLine 的区别
while (in.hasNextInt()) { // 注意 while 处理多个 case
int x = in.nextInt();
int res = -1;
if (x == 1) {
System.out.println(-1);
} else {
for (int i = x; i <= 2 * x; i++) {
if (isValid(i)) {
res = i;
break;
}
}
System.out.println(res);
}
}
}
private static boolean isValid(int x) {
for (int i = 2; i <= x / 2; i++) {
if (x % i == 0) {
return true;
}
}
return false;
}
}