原题链接
哪位大佬帮我看看哪里错了。。
我的WA代码:
#include <iostream>
#include <cstdio>
#include <algorithm>
using namespace std;
const int N = 1e6 + 10;
int n, m;
bool xx(int k)
{
int l = 1, r = k - 1;
while (l < r)
{
int mid = (l + r + 1) >> 1;
if (mid * mid <= k)
l = mid;
else
r = mid - 1;
}
return l * l == k;
}
int main()
{
scanf("%d%d", &n, &m);
for (int i = n; i <= m; i++)
{
int temp = i;
for (int j = 10; temp / j > 0; j *= 10)
{
if (xx(i) && xx(temp / j) && xx(temp % j))
printf("%d\n", i);
}
}
return 0;
}