有效的完全平方数 C++
时间: 2024-08-30 15:00:21 浏览: 30
在C++中,一个有效的完全平方数是指可以表示成某个整数的平方的形式的正整数。你可以通过循环遍历并检查每个数字是否满足公式n = m * m(其中m也是正整数),来判断一个数是否是完全平方数。以下是一个简单的示例函数,它使用了循环和取模运算符 `%` 来检验:
```cpp
#include <iostream>
#include <cmath>
bool isPerfectSquare(int num) {
// 如果num小于0,不是有效完全平方数
if (num < 0) return false;
int sqrt_num = static_cast<int>(sqrt(num)); // 取int部分,向下取整
return sqrt_num * sqrt_num == num; // 检查平方后结果是否等于原数
}
int main() {
int input;
std::cout << "Enter a number to check for perfect square: ";
std::cin >> input;
if (isPerfectSquare(input)) {
std::cout << input << " is a perfect square." << std::endl;
} else {
std::cout << input << " is not a perfect square." << std::endl;
}
return 0;
}
```
在这个代码中,我们首先排除负数,然后计算输入数的平方根(向下取整),最后比较这个平方根的平方是否等于原始输入。