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

[1, n] रेंज में सभी संख्याओं के भाजकों की संख्या ज्ञात करें C++ में


इस समस्या में, हमें एक संख्या N दी गई है। हमारा कार्य [1, n] रेंज में सभी संख्याओं के भाजकों की संख्या ज्ञात करना है।

उदाहरण से समझते हैं:

इनपुट: N = 7 आउटपुट: 1 2 2 3 2 4 2

समाधान दृष्टिकोण

समस्या का एक सरल समाधान 1 से N तक शुरू करना और प्रत्येक संख्या के लिए भाजकों की संख्या गिनना और उन्हें प्रिंट करना है।

उदाहरण 1

हमारे समाधान के कार्य को दर्शाने वाला प्रोग्राम:

#include <iostream> using namespace std; int countDivisor(int N){    int count = 1;    for(int i = 2; i <= N; i++){       if(N%i == 0)          count++;    }    return count; } int main(){    int N = 8;    cout<<"The number of divisors of all numbers in the range are \t";    cout<<"1 ";    for(int i = 2; i <= N; i++){       cout<<countDivisor(i)<<" ";    }    return 0; }

आउटपुट

The number of divisors of all numbers in the range are 1 2 2 3 2 4 2 4

समस्या को हल करने का एक अन्य दृष्टिकोण मानों के इन्क्रीमेंट का उपयोग करना है। इसके लिए, हम (N+1) आकार की एक सरणी बनाएंगे। फिर, 1 से N तक शुरू करके, हम प्रत्येक मान i के लिए जांचेंगे, हम i से कम n के सभी गुणकों के लिए सरणी मान बढ़ाएंगे।

उदाहरण 2

हमारे समाधान के कार्य को दर्शाने वाला प्रोग्राम:

#include <iostream> using namespace std; void countDivisors(int N){    int arr[N+1];    for(int i = 0; i <= N; i++)       arr[i] = 1;       for (int i = 2; i <= N; i++) {          for (int j = 1; j * i <= N; j++)             arr[i * j]++;       }       for (int i = 1; i <= N; i++)          cout<<arr[i]<<" "; } int main(){    int N = 8;    cout<<"The number of divisors of all numbers in the range are \t"; countDivisors(N);    return 0; }

आउटपुट

The number of divisors of all numbers in the range are 1 2 2 3 2 4 2 4

  1. - C++ में अधिकतम उत्पाद वाले चौगुनी (Quadruples) की संख्या ज्ञात करें

    मान लीजिए हमारे पास n तत्वों का एक पूर्णांक सरणी है। हमें सरणी में एक चौगुनी का अधिकतम उत्पाद ढूंढना है। इसलिए यदि सरणी [3, 5, 20, 6, 10] की तरह है, तो अंतिम उत्पाद 6000 है, और चौगुनी में तत्व 10, 5, 6, 20 हैं। इसे हल करने के लिए, हम इन चरणों का पालन करेंगे: सरणी को आरोही क्रम में सॉर्ट करें मान ली

  1. - C++ प्रोग्राम: अंक d वाली संख्याएं ज्ञात करना

    मान लें हमारे पास एक अंक d है, और ऊपरी सीमा n है। हमें 0 से n की सीमा में वे सभी संख्याएं ज्ञात करनी हैं जिनमें d है। इसलिए यदि n = 20, और अंक 3 है, तो संख्याएं [3, 13] होंगी। इस समस्या को हल करने के लिए, हम प्रत्येक संख्या को स्ट्रिंग के रूप में लेंगे, फिर यदि अंक स्ट्रिंग में मौजूद है, तो संख्या

  1. - C++ में सरणी में एक संख्या की फ्रीक्वेंसी ज्ञात करना

    मान लीजिए हमारे पास एक सरणी है। इसमें n अलग-अलग तत्व हैं। हमें सरणी में एक तत्व की फ्रीक्वेंसी जांचनी है। मान लीजिए A = [5, 12, 26, 5, 3, 4, 15, 5, 8, 4], यदि हम 5 की फ्रीक्वेंसी ढूंढने की कोशिश करते हैं, तो यह 3 होगी। इसे हल करने के लिए, हम सरणी को बाएं से स्कैन करेंगे, यदि तत्व दी गई संख्या के सम