在 C++ 中不求平方根检验一个数是否是完全平方
假如给定了一个数,我们要检查该数是否是完全平方。我们将不使用平方根运算来检查它。假如有一个数 1024,这是一个完全平方,但 1000 不是一个完全平方。逻辑很简单,我们要遵循以下算法来获得结果。
算法
isPerfectSquare(n) −
输入 − 数 n
输出 − 如果该数是一个完全平方,则为 true,否则为 false
begin for i := 1, i2 ≤ n, increase i by 1: if n is divisible by i, and n / i = i, then return true done return false end
例子
#include <iostream>
using namespace std;
bool isPerfectSquare(int number) {
for (int i = 1; i * i <= number; i++) {
if ((number % i == 0) && (number / i == i)) {
return true;
}
}
return false;
}
int main() {
int n = 1024;
if(isPerfectSquare(n)){
cout << n << " is perfect square number";
} else {
cout << n << " is not a perfect square number";
}
}输出
1024 is perfect square number
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
安卓
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP