小红的数字查找
题号:NC313084
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
Special Judge, 64bit IO Format: %lld

题目描述

\hspace{15pt}给定一个整数 x 以及两个正整数 l, r,请你判断是否存在一个整数 y 满足:
\hspace{23pt}\bullet l \leqq y \leqq r
\hspace{23pt}\bullet x \times y 是一个完全平方数
\hspace{15pt}如果存在,请给出任意一个满足条件的 y

【名词解释】
\hspace{15pt}完全平方数:一个数如果可以表示为某个整数的平方,那么这个数就是完全平方数。前十个完全平方数是 0,1,4,9,16,25,36,49,64,81

输入描述:

\hspace{15pt}输入三个整数 x, l, r \left(1 \leqq x \leqq 10^{9};\, 1 \leqq l \leqq r \leqq 10^{9}\right)

输出描述:

\hspace{15pt}如果存在符合条件的 y,输出一个整数 y;否则输出 -1

\hspace{15pt}如果存在多个解决方案,您可以输出任意一个,系统会自动判定是否正确。注意,自测运行功能可能因此返回错误结果,请自行检查答案正确性。
示例1

输入

复制
12 3 10

输出

复制
3

说明

\hspace{15pt}在这个样例中,取 y=3x \times y = 36 = 6^2,且 3 在区间 [3,10] 内,故符合条件。
示例2

输入

复制
2 5 7

输出

复制
-1

说明

\hspace{15pt}在这个样例中,区间 [5,7] 内没有整数 y 使得 2 \times y 为完全平方数,故不符合条件。