मान लीजिए कि एक संख्या दी गई है, हमें यह जांचना है कि संख्या एक पूर्ण वर्ग है या नहीं। हम इसे जांचने के लिए वर्गमूल संक्रिया का उपयोग नहीं करेंगे। मान लीजिए कि एक संख्या 1024 है, यह एक पूर्ण वर्ग है, लेकिन 1000 एक पूर्ण वर्ग नहीं है। तर्क सरल है, परिणाम प्राप्त करने के लिए हमें इस एल्गोरिथम का पालन करना होगा।
एल्गोरिदम
isPerfectSquare(n) -
इनपुट - संख्या n
आउटपुट - सत्य, यदि संख्या पूर्ण वर्ग है, अन्यथा, असत्य
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