Помогите с задачей с С++
Найти натуральное число, состоящее из трёх цифр, с возрастающими слева направо цифрами, являющееся полным квадратом. Число является полным квадратом, если квадратный корень из него есть простое число (число 121 – полный квадрат, т. к. 121=11*11, а 11 – простое число).
Дополненмне Нужен код для С++
#include <iostream>
using namespace std;
bool is_prime(const int num) {
if (!num) return false;
bool prime;
if (num < 6 && (num <= 2 || num == 3 || num == 5)) prime = true;
else if (~num & 1 || 0 == num % 3 || 0 == num % 5) prime = false;
else {
int n;
for (n = 3; n * n <= num && num % n; n += 2) { ; }
prime = n * n > num;
}
return prime;
}
bool is_increases(int x) {
auto n = x % 10;
while (x) {
x /= 10;
const auto h = x % 10;
if (h < n) n = h;
else return false;
}
return true;
}
int main() {
int x, n = 11;
do {
x = n * n;
if (is_prime(n) && is_increases(x)) cout << x << '\n';
n += 2;
} while (x < 1000);
cin.get();
}
169
289
Попробуй найти под диваном)))