हमें एक संख्या N दी गई है। लक्ष्य N तक की संख्याओं को गिनना है जो पूर्ण वर्ग के साथ-साथ पूर्ण घन भी हैं। उदाहरण के लिए, 1, 64 पूर्ण वर्ग और पूर्ण घन दोनों हैं।
हम वर्गमूल की गणना के लिए sqrt () का उपयोग करेंगे और किसी संख्या के घनमूल की गणना के लिए cbrt () का उपयोग करेंगे।
आइए उदाहरणों से समझते हैं।
इनपुट -एन=100
आउटपुट − पूर्ण वर्ग और घन वाली संख्याओं की संख्या − 2
स्पष्टीकरण − 1 और 64 केवल 1 से 100 तक की संख्याएँ हैं जो पूर्ण वर्ग और घन दोनों हैं।
इनपुट -एन=5000
आउटपुट −संख्याओं की गणना जो पूर्ण वर्ग और घन हैं − 3
स्पष्टीकरण − 1, 64 और 4096 केवल 1 से 5000 तक की संख्याएँ हैं जो पूर्ण वर्ग और घन दोनों हैं।
नीचे दिए गए प्रोग्राम में इस्तेमाल किया गया तरीका इस प्रकार है
-
हम एक पूर्णांक N लेते हैं।
-
फ़ंक्शन getCount(int n) N लेता है और N तक की संख्याओं की गिनती देता है जो पूर्ण वर्ग और पूर्ण घन दोनों हैं।
-
प्रारंभिक गणना 0 के रूप में लें।
-
i=1 से शुरू होकर i=N तक, यदि फ़्लोर(sqrt(i))==ceil(sqrt(i)) तो i एक पूर्ण वर्ग है।
-
अब जांचें कि क्या फ़्लोर(cbrt(i))==ceil(cbrt(i)), यदि सही है तो i भी एक पूर्ण घन है। वेतन वृद्धि की संख्या।
-
लूप के अंत में परिणाम के रूप में वापसी की गणना करें।
उदाहरण
#include <bits/stdc++.h> #include <math.h> using namespace std; int getCount(int n){ int count=0; for(int i=1;i<=n;i++){ if(floor(sqrt(i))==ceil(sqrt(i))){ if(floor(cbrt(i))==ceil(cbrt(i))){ count++; //cout<<i<<" "; } } } return count; } int main(){ int N=100; cout<<endl<<"Numbers upto N that are perfect squares and perfect cubes:"<<getCount(N); return 0; }
आउटपुट
यदि हम उपरोक्त कोड चलाते हैं तो यह निम्न आउटपुट उत्पन्न करेगा -
Numbers upto N that are perfect squares and perfect cubes:2