Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> C++

C++ में n से पहले वर्ग और गैर-वर्ग संख्याओं की गणना करें

हमें एक संख्या N दी गई है। लक्ष्य धनात्मक संख्याओं के क्रमित युग्मों को इस प्रकार खोजना है कि उनके घनों का योग N हो।

निष्पक्ष दृष्टिकोण

1 से N तक सभी संख्याओं को पार करें और जाँचें कि क्या यह एक पूर्ण वर्ग है। अगर मंजिल(sqrt(i))==ceil(sqrt(i)).

तब संख्या एक पूर्ण वर्ग होती है।

कुशल दृष्टिकोण

N के नीचे पूर्ण वर्ग सूत्र का उपयोग करके पाया जा सकता है:फर्श (वर्ग (एन))।

आइए उदाहरणों से समझते हैं।

इनपुट

N=20

आउटपुट

Count of square numbers: 4
Count of non-square numbers: 16

स्पष्टीकरण

Square numbers are 1, 4, 9 and 16. Rest all are non-squares and less than 20.

इनपुट

N=40

आउटपुट

Count of square numbers: 6
Count of non-square numbers: 34

स्पष्टीकरण

Square numbers are 1, 4, 9, 16, 25, 36. Rest all are non-squares and less than 40.

निष्पक्ष दृष्टिकोण

नीचे दिए गए प्रोग्राम में इस्तेमाल किया गया तरीका इस प्रकार है

  • हम पूर्णांक N लेते हैं।

  • फ़ंक्शन वर्गनम्स (int n) n लेता है और n से नीचे की संख्याओं की गिनती देता है जो पूर्ण वर्ग या गैर-वर्ग हैं।

  • प्रारंभिक चर गणना को 0 के रूप में लें।

  • लूप के लिए i=1 से i<=n

    . तक का उपयोग करके ट्रैवर्स करें
  • यदि फ़्लोर(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<<"Count of squares numbers: "<<squares;
   cout <<endl<<"Count of non-squares numbers: "<<N-squares;
   return 0;
}

आउटपुट

यदि हम उपरोक्त कोड चलाते हैं तो यह निम्न आउटपुट उत्पन्न करेगा -

Count of square numbers: 6
Count of non-square numbers: 34

कुशल दृष्टिकोण

नीचे दिए गए प्रोग्राम में इस्तेमाल किया गया तरीका इस प्रकार है

  • हम पूर्णांक N लेते हैं।

  • चर वर्ग लें =फर्श (वर्ग (एन))।

  • परिवर्तनीय वर्गों में N के नीचे कई पूर्ण वर्ग होंगे।

  • N-वर्ग, N से नीचे के गैर-वर्गों की संख्या होगी।

उदाहरण

#include <bits/stdc++.h>
#include <math.h>
using namespace std;
int main(){
   int N = 40;
   int squares=floor(sqrt(N));
   cout <<endl<<"Count of squares numbers: "<<squares;
   cout <<endl<<"Count of non-squares numbers: "<<N-squares;
   return 0;
}

आउटपुट

यदि हम उपरोक्त कोड चलाते हैं तो यह निम्न आउटपुट उत्पन्न करेगा -

Count of square numbers: 6
Count of non-square numbers: 34

  1. सी ++ में पहेली से पहले और बाद में

    मान लीजिए कि हमारे पास वाक्यांशों की एक सूची है, पहेलियों से पहले और बाद की सूची तैयार करें। यहां एक वाक्यांश एक स्ट्रिंग है जिसमें केवल लोअरकेस अक्षर और रिक्त स्थान होते हैं। आरंभ और समाप्ति की स्थिति में कोई स्थान नहीं होगा। किसी वाक्यांश में कोई क्रमागत रिक्तियाँ नहीं होती हैं। पहले और बाद की पह

  1. सी++ में अभाज्य संख्याएं और फाइबोनैचि

    इस समस्या में, हमें एक संख्या n दी गई है। हमारा काम सभी अभाज्य और फाइबोनैचि संख्याओं को n से कम या उसके बराबर प्रिंट करना है। आइए समस्या को समझने के लिए एक उदाहरण लेते हैं Input: n = 30 Output: 2 3 5 13 स्पष्टीकरण 30 से कम फाइबोनैचि संख्याएं हैं:1 1 2 3 5 8 13 21. इन संख्याओं में से अभाज्य संख्

  1. C++ में एक वर्ग मैट्रिक्स में अधिकतम और न्यूनतम

    समस्या कथन क्रम n*n के वर्ग मैट्रिक्स को देखते हुए, मैट्रिक्स से अधिकतम और न्यूनतम खोजें उदाहरण यदि दिया गया मैट्रिक्स है - {{15, 17, 19}, {5, 1, 7}, {14, 5, 16}} then Minimum number is 1 and maximum number is 19 एल्गोरिदम मैट्रिक्स से दो तत्वों का चयन करें एक मैट्रिक्स की एक पंक्ति की शुरुआत से