话说这是我第二次参加cf上的比赛了,虽然赛题的前两题都比较水,但是这个题是我第一次在cf上比赛时交过的题,极具纪念意义,好了,不说那么多有的没的了。
这个题的意思就是对于给定的数x,找到两个数a,b满足以下条件:
- a % b == 0
- a * b > x
- a / b < x
可以看出a,b是不唯一的,所以这道题是SPJ,那我们只要找到最好找的就好了。a * b 最大的时候,就是a == b == x对吧,正好这时候也满足题目中的其它要求。如果x * x 都不满足大于 x 这个条件的话,肯定就无解了,所以我们只需要判断这个条件就好了,想明白之后,代码就很简单了。
#include<stdio.h>
int main()
{
int n;
scanf("%d",&n);
if(n * n > n)
printf("%d %d",n,n);
else
printf("-1");
return 0;
}