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

C++ . में [1, n] श्रेणी में सभी संख्याओं के भाजक की संख्या ज्ञात कीजिए

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

समस्या को समझने के लिए एक उदाहरण लेते हैं,

Input : N = 7
Output : 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 की जांच करेंगे, हम n से कम i के सभी गुणकों के लिए सरणी मान बढ़ाएंगे।

उदाहरण 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++ में अधिकतम उत्पाद चौगुनी संख्या ज्ञात कीजिए

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

  1. वह संख्या ज्ञात कीजिए जिसमें C++ में अंक d है

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

  1. C++ का उपयोग करके किसी सरणी में किसी संख्या की आवृत्ति ज्ञात करें।

    मान लीजिए कि हमारे पास एक सरणी है। एन विभिन्न तत्व हैं। हमें सरणी में एक तत्व की आवृत्ति की जांच करनी है। मान लीजिए A =[5, 12, 26, 5, 3, 4, 15, 5, 8, 4], अगर हम 5 की बारंबारता ज्ञात करने की कोशिश करते हैं, तो यह 3 होगा। इसे हल करने के लिए, हम सरणी को बाईं ओर से स्कैन करेंगे, यदि तत्व दिए गए नंबर के