#include <iostream>
#include <cmath> // для функции sqrt
// Функция для проверки, является ли число квадратом натурального числа
bool isPerfectSquare(int number) {
if (number < 0) {
return false; // отрицательные числа не могут быть квадратами
}
int root = static_cast<int>(sqrt(number));
return (root * root == number);
}
int main() {
int count;
std::cout << "Введите количество квадратов натуральных чисел, которые нужно найти: ";
std::cin >> count;
// Переменная для хранения текущего числа
int currentNaturalNumber = 1;
int foundCount = 0;
std::cout << "Квадраты натуральных чисел:" << std::endl;
while (foundCount < count) {
int square = currentNaturalNumber * currentNaturalNumber;
// Проверка, является ли квадратом
if (isPerfectSquare(square)) {
std::cout << square << std::endl;
foundCount++;
}
currentNaturalNumber++;
}
return 0;
}
Проверку "квадрат – не квадрат" оформить в виде функции.
Не используйте print_quadrat, так как это процедура, а функция всегда должна возвращать результат, в данном случае проверки является ли число допустим 16 квадратом чисел...то бишь корень из него есть целое.