我是天才少年 看我直接科秒! • 15天前
using namespace std;
bool solve(ll n) { //判断是否为质数
if (n <= 1)
return false;
for (int i = 2; i * i <= n; i++) {
if (n % i == 0)
return false;
}
return true;
}
int main() {
ll l, r;
cin >> l >> r;
ll b = sqrtl(l), e = sqrtl(r);
bool flag = false;
for (ll i = b; i <= e; i++) {
if (i * i < l)
continue;
if (i * i > r)
break;
ll t = i * i, sum = 0;
while (t) {
sum += t % 10;
t /= 10;
}
if (solve(sum)) {
cout << i *i << " ";
flag = true;
}
}
if (!flag)
cout << 0;
return 0;
}
评论:
请先登录,才能进行评论