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

C++ में 2 से 10 तक की सभी संख्याओं से विभाज्य संख्याएँ गिनें

हमें एक संख्या दी गई है मान लीजिए, संख्या और कार्य 1 से संख्या तक की संख्याओं की गणना करना है जो 2, 3, 4, 5, 6, 7, 8, 9 और 10 से विभाज्य हैं।

इनपुट - पूर्णांक संख्या =10000

आउटपुट − 2 से 10 तक की सभी संख्याओं से विभाज्य संख्याएँ गिनें:3

स्पष्टीकरण − 1 से 10000 तक 3 संख्याएँ हैं जो 2 से 10 तक सभी संख्याओं से विभाज्य हैं और वे हैं -

2520-: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 14, 15, 18, 20, 21, 24, 28, 30, 35, 36, 40, 42, 45, 56, 60, 63, 70, 72, 84, 90, 105, 120, 126, 140, 168, 180, 210, 252, 280, 315, 360, 420, 504, 630, 840, 1260, 2520.
5040-: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 14, 15, 16, 18, 20, 21, 24, 28, 30, 35, 36, 40, 42, 45, 48, 56, 60, 63, 70, 72, 80, 84, 90, 105, 112, 120, 126, 140, 144, 168, 180, 210, 240, 252, 280, 315, 336, 360, 420, 504, 560, 630, 720, 840, 1008, 1260, 1680, 2520, 5040
7560-: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 14, 15, 18, 20, 21, 24, 27, 28, 30, 35, 36, 40, 42, 45, 54, 56, 60, 63, 70, 72, 84, 90, 105, 108, 120, 126, 135, 140, 168, 180, 189, 210, 216, 252, 270, 280, 315, 360, 378, 420, 504, 540, 630, 756, 840, 945, 1080, 1260, 1512, 1890, 2520, 3780.

इनपुट - पूर्णांक संख्या =20000

आउटपुट − वे संख्याएं गिनें जो 2 से 10 तक की सभी संख्याओं से विभाज्य हों − 3

स्पष्टीकरण - 1 से 10000 तक की 7 संख्याएँ हैं जो 2 से 10 तक की सभी संख्याओं से विभाज्य हैं और वे हैं - 2520, 5040, 7560, 10080, 12600, 15120 और 17640,

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

दी गई समस्या को हल करने के लिए कई दृष्टिकोण हो सकते हैं जैसे कि सरल दृष्टिकोण और कुशल दृष्टिकोण। तो आइए सबसे पहले भोले दृष्टिकोण . को देखें ।

  • संख्या दर्ज करें मान लें कि संख्या है

  • एक सरणी लें और 2 से 10 तक की सभी संख्याओं को एक निश्चित लंबाई के पूर्णांक सरणी के अंदर संग्रहीत करें जो कि 9 है।

  • अस्थायी चर लें पहले कुल संख्याओं को संग्रहीत करने के लिए गणना की जाती है और दूसरा यह जांचने के लिए ध्वज है कि संख्या विभाज्य है या नहीं।

  • लूप प्रारंभ करें I से 1 तक संख्या तक के लिए

  • लूप के अंदर, num को i और इंडेक्स को 0 पर सेट करें

  • तब तक प्रारंभ करें जब तक कि अनुक्रमणिका 9 से कम न हो, अर्थात एक सरणी का आकार

  • IF num% arr[index++] ==0 चेक करें और फिर फ्लैग को 1 के रूप में सेट करें अन्यथा फ्लैग को 0 के रूप में सेट करें

  • चेक करें कि IF ध्वज 1 है, फिर गिनती को 1 से बढ़ाएँ

  • वापसी की संख्या

  • परिणाम प्रिंट करें।

कुशल तरीका

जैसा कि हम देख सकते हैं कि संख्याओं में एक पैटर्न है जो 2 से 10 तक की सभी संख्याओं से विभाज्य है।

वह छोटी से छोटी संख्या जो 2 से 10 तक की सभी संख्याओं से विभाज्य हो, 2520 है

5 * 7 * 8 * 9 = 2520(n = 1)
5 * 7 * 8 * 9 * 2 = 5040(n = 2)
5 * 7 * 8 * 9 * 3 = 7560(n = 3)
.
.

जैसा कि हम देख सकते हैं कि 2520 2, 3, 4, 5, 6, 7, 8, 9, 10 से विभाज्य सभी संख्याओं का सामान्य गुणनखंड है। इसलिए, यदि हम दी गई संख्या को 2520 से विभाजित करते हैं तो हमें अपना परिणाम प्राप्त होगा। /पी>

कोड-1(बेवकूफ दृष्टिकोण)

उदाहरण

#include <bits/stdc++.h>
using namespace std;
int count(int num){
   int count = 0;
   int flag=0;
   int index=0;
   int arr[9] = {2, 3, 4, 5, 6, 7, 8, 9, 10 };
   for (int i = 1; i <= num; i++){
      int num = i;
      index=0;
      while(index<9){
         if(num % arr[index++] == 0){
            flag=1;
         }
         else{
            flag=0;
            break;
         }
      }
      if (flag == 1){
         count++;
      }
   }
   return count;
}
int main(){
   int num = 10000;
   cout<<"Count numbers which are divisible by all the numbers from 2 to 10 are: "<<count(num);
return 0;
}

आउटपुट

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

Count numbers which are divisible by all the numbers from 2 to 10 are: 3

कोड-2(कुशल दृष्टिकोण)

उदाहरण

#include <bits/stdc++.h>
using namespace std;
int main(){
   int num = 10000;
   int count = num / 2520;
   cout<<"Count numbers which are divisible by all the numbers from 2 to 10 are: "<<count;
   return 0;
}

आउटपुट

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

Count numbers which are divisible by all the numbers from 2 to 10 are: 3

  1. सरणी के सभी तत्वों को C++ में 4 से विभाज्य बनाने के लिए न्यूनतम चरण

    समस्या कथन आकार n की एक सरणी को देखते हुए, कार्य सरणी के सभी तत्वों को 4 से विभाज्य बनाने के लिए आवश्यक न्यूनतम चरणों को खोजने के लिए है। एक चरण को सरणी से किन्हीं दो तत्वों को हटाने और इन तत्वों के योग को जोड़ने के रूप में परिभाषित किया गया है। सरणी के लिए उदाहरण यदि इनपुट ऐरे {1, 2, 0, 2, 4, 3}

  1. C++ में 3 और 5 से विभाज्य सभी संख्याओं को प्रिंट करने का कार्यक्रम

    इस ट्यूटोरियल में, हम दी गई संख्या से 3 और 5 कम से विभाज्य सभी संख्याओं को प्रिंट करने के कार्यक्रम पर चर्चा करेंगे। इसके लिए हमें एक नंबर दिया जाएगा जैसे N। हमारा काम N से कम सभी नंबरों को प्रिंट करना है जो 3 और 5 दोनों से विभाज्य हैं। उदाहरण #include <iostream> using namespace std; //printi

  1. C++ का उपयोग करके अभाज्य संख्याओं को खोजने के लिए सबसे तेज़ एल्गोरिथम कौन सा है?

    इराटोस्थनीज की चलनी n से छोटी अभाज्य संख्याओं को खोजने के सबसे प्रभावी तरीकों में से एक है जब n लगभग 10 मिलियन से छोटा है। एराटोस्थनीज की चलनी को प्रदर्शित करने वाला एक कार्यक्रम इस प्रकार दिया गया है। उदाहरण #include <bits/stdc++.h> using namespace std; void SieveOfEratosthenes(int num) { &n