这一题只需要判断两个数就行。
对于输入的X,首先判断它是否是偶数,不是就减1(x=1时单独输出-1)。
对于操作后的x(此时必然是偶数)而言:它可以被2整除,除以2必然小于x的初始值,乘以2必然大于x的初始值(因为操作后的x大于1,此时(x-1)*2>x恒成立)。所以只要输出操作后的x和2就行。
代码如下:
#include <iostream>
using namespace std;
int main() {
int a,b=2,x;
cin>>x;
if(x==1)cout<<-1;
else {
if(x%2!=0){
x--;
cout<<x<<" "<<2;
}
else {
cout<<x<<" "<<2;
}
}
return 0;
}

京公网安备 11010502036488号