कोई संख्या एक पूर्ण वर्ग संख्या कहलाती है यदि उस संख्या का वर्गमूल एक पूर्णांक हो। दूसरे शब्दों में, जब वर्गमूल एक पूर्ण संख्या होती है, तो वह संख्या पूर्ण वर्ग संख्या कहलाती है।
हम उस संख्या का वर्गमूल ज्ञात करके पूर्ण वर्ग की जांच कर सकते हैं और सटीक वर्गमूल प्राप्त करने के लिए बार-बार i से मिलान कर सकते हैं। जब वर्गमूल मान को पार कर जाता है, तो वह पूर्ण वर्ग संख्या नहीं होती है।
लेकिन यहां प्रयास को कम करने के लिए, हमने बार-बार वर्गमूल की जांच नहीं की है। जैसा कि हम जानते हैं कि एक पूर्ण वर्ग संख्या का वर्गमूल एक पूर्णांक होता है, तो हम वर्गमूल को एक से बढ़ा सकते हैं, और एक पूर्ण वर्ग मिलान की जांच कर सकते हैं।
इनपुट और आउटपुट
Input: A number to check: 1032 Output: 1032 is not a perfect square number.
एल्गोरिदम
isPerfectSquare(num)
इनपुट: संख्या।
आउटपुट: सही है अगर कोई संख्या पूर्ण वर्ग संख्या है, और वर्गमूल भी प्रिंट करें।
Begin if num < 0, then exit sqRoot := 1 sq := sqRoot^2 while sq <= num, do if sq = num, then return sqRoot sqRoot := sqRoot + 1 sq := sqRoot^2 done otherwise return error End
उदाहरण
#include<iostream> using namespace std; int isPerfectSquare(int num) { if(num < 0) return -1; //a -ve number is not a valid square term int sqRoot = 1, sq; while((sq =(sqRoot*sqRoot)) <= num) { //when square of square root is not crossed the number if(sq == num) return sqRoot; sqRoot++; //as square root of a perfect square is always integer } return -1; } int main() { int num, res; cout << "Enter a number to check whether it is perfect square or not: "; cin >> num; if((res = isPerfectSquare(num)) != -1) cout << num << " is a perfect square number, square root: " << res; else cout << num << " is not a perfect square number."; }
आउटपुट
Enter a number to check whether it is perfect square or not: 1032 1032 is not a perfect square number.