how to find if number is perfect square

#include <iostream>
#include <cmath>

bool isPerfectSquare(int num) {
    if (num < 0) {
        return false;
    }

    int root = static_cast<int>(std::sqrt(num));
    return (root * root == num);
}

int main() {
    int number;
    std::cout << "Enter a number: ";
    std::cin >> number;

    if (isPerfectSquare(number)) {
        std::cout << number << " is a perfect square." << std::endl;
    } else {
        std::cout << number << " is not a perfect square." << std::endl;
    }

    return 0;
}