#include <iostream>
using namespace std;
int main() {
int x;
cin >> x;
int output = -1;
int i = x;
while (i <= 2 * x) { // 注意 while 处理多个 case
for (int j = i - 1; j > 1; j--) {
if (i % j == 0) {
output = i;
}
}
i++;
}
cout << output;
}
// 64 位输出请用 printf("%lld")
- 判断合数:判断一个数是否为合数,要做一次遍历。判断一列数是否为合数,要有嵌套循环。
- 缩小遍历范围:改为for (int j = 2; j * j <= i ; j++)。从小往大找因数,然后可以把寻找范围缩小许多。

京公网安备 11010502036488号