在 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
廣告