#P0719. 完美方阵
完美方阵
题目描述
比赛现场需要用一些小方块摆成正方形方阵。
如果一个正整数 x 可以写成某个整数乘以自己的形式,也就是 x = k * k,那么 x 就可以刚好摆成一个正方形方阵。
例如:
16 = 4 * 4,所以16可以摆成正方形方阵;20不能写成某个整数乘以自己,所以20不能刚好摆成正方形方阵。
现在给定两个整数 L 和 R,请你统计区间 [L,R] 中有多少个数可以刚好摆成正方形方阵,并输出其中最小的那个数。
如果区间中没有这样的数,第二行输出 -1。
输入格式
输入共 2 行。
第 1 行一个整数 L。
第 2 行一个整数 R。
输出格式
输出共 2 行。
第 1 行输出一个整数,表示区间 [L,R] 中可以刚好摆成正方形方阵的数的个数。
第 2 行输出一个整数,表示其中最小的那个数;如果不存在,输出 -1。
样例
10
30
2
16
样例说明
区间 [10,30] 中,可以刚好摆成正方形方阵的数有 16 和 25。
所以一共有 2 个,最小的是 16。
数据范围
- 对于
100%的数据,满足1 <= L <= R <= 100000