题目描述
如果一个整数a是某个整数b的平方,那么这个正整数 a就 叫做完全平方数。比如0,1,4,9,16...这样的数都是完全平方数。在所有的完全平方数中,有些又比较特殊,称为特殊完全平方数,这些特殊的完全平方数有一个特点是,该数中至少有两个位子上的数字是相同的,例如100就是一个特殊完全平方数,100即是完全平方数,又符合至少有两个位子上的数字是相同的。
现在请你编程找出a到b范围内符合特殊完全平方数的第n个数(从小到大的第n个。
输入要求
一行,三个用空格隔开的整数分别是a,b和n,其中100≤a<b<=100000,1≤n≤50。
输出要求
如果能够找到第n个满足条件的特殊完全平方数则输出那个完全平方数。
如果不能够找到第n个满足条件的,则输出两行,第一行输出字符串“NO”,第2行输出在a b范围内能够找到的满足条件的特殊完全平方数的总个数。
样例输入 复制
100 999 1
样例输出 复制
100
我好没打完的代码:
#include<bits/stdc++.h>
using namespace std;
int main() {
int a, b, n;
cin >> a >> b >> n;
for (int i = a; i <= b; i++) {
for (int j = 1; j <= i; j++) {
if (j * j == i && i - a + 1 == n){
cout << i;
break;
}
}
}
return 0;
}