检查数字是否为完美平方,而在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