हमें एक संख्या N दी गई है। लक्ष्य धनात्मक संख्याओं के क्रमित जोड़े ढूंढना है जैसे कि उनके घनों का योग N हो।
सामान्य दृष्टिकोण
1 से N तक सभी संख्याओं को पार करें और जांचें कि क्या यह एक पूर्ण वर्ग है। यदि floor(sqrt(i)) == ceil(sqrt(i))।
तब संख्या एक पूर्ण वर्ग है।
कुशल दृष्टिकोण
N से कम पूर्ण वर्ग सूत्र का उपयोग करके पाए जा सकते हैं: floor(sqrt(N))।
उदाहरण से समझते हैं
इनपुट
N=20
आउटपुट
वर्ग संख्याओं की संख्या: 4 अवर्ग संख्याओं की संख्या: 16
व्याख्या
वर्ग संख्याएं हैं 1, 4, 9 और 16। बाकी सभी अवर्ग हैं और 20 से कम हैं।
इनपुट
N=40
आउटपुट
वर्ग संख्याओं की संख्या: 6 अवर्ग संख्याओं की संख्या: 34
व्याख्या
वर्ग संख्याएं हैं 1, 4, 9, 16, 25, 36। बाकी सभी अवर्ग हैं और 40 से कम हैं।
सामान्य दृष्टिकोण
नीचे दिए गए प्रोग्राम में उपयोग किया गया दृष्टिकोण
हम पूर्णांक N लेते हैं।
फ़ंक्शन squareNums(int n) n लेता है और n से कम उन संख्याओं की संख्या लौटाता है जो पूर्ण वर्ग या अवर्ग हैं।
प्रारंभिक चर count को 0 से आरंभ करें।
i=1 से i<=n तक फॉर लूप का उपयोग करके पार करें।
यदि floor(sqrt(i))==ceil(sqrt(i)), तो संख्या पूर्ण वर्ग है इसलिए काउंट बढ़ाएं।
सभी लूप के अंत में काउंट में कुल संख्या होगी जो पूर्ण वर्ग हैं।
N-वर्ग अवर्ग संख्याएं होंगी।
उदाहरण
#include <bits/stdc++.h> #include <math.h> using namespace std; int squareNums(int n){ int count = 0; for (int i = 1; i <= n; i++){ if(floor(sqrt(i))==ceil(sqrt(i))) { count++; } } return count; } int main(){ int N = 40; int squares=squareNums(N); cout <<endl<<"वर्ग संख्याओं की संख्या: "<<squares; cout <<endl<<"अवर्ग संख्याओं की संख्या: "<<N-squares; return 0; } आउटपुट
यदि हम उपरोक्त कोड चलाते हैं तो यह निम्नलिखित आउटपुट उत्पन्न करेगा -
वर्ग संख्याओं की संख्या: 6 अवर्ग संख्याओं की संख्या: 34
कुशल दृष्टिकोण
नीचे दिए गए प्रोग्राम में उपयोग किया गया दृष्टिकोण
हम पूर्णांक N लेते हैं।
चर squares = floor(sqrt(N)) लें।
चर squares में N से कम पूर्ण वर्गों की संख्या होगी।
N-squares N से कम अवर्गों की संख्या होगी।
उदाहरण
#include <bits/stdc++.h> #include <math.h> using namespace std; int main(){ int N = 40; int squares=floor(sqrt(N)); cout <<endl<<"वर्ग संख्याओं की संख्या: "<<squares; cout <<endl<<"अवर्ग संख्याओं की संख्या: "<<N-squares; return 0; } आउटपुट
यदि हम उपरोक्त कोड चलाते हैं तो यह निम्नलिखित आउटपुट उत्पन्न करेगा -
वर्ग संख्याओं की संख्या: 6 अवर्ग संख्याओं की संख्या: 34