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

C++ में N से 0 तक कम करने के लिए आवश्यक दिए गए प्रकार के संचालन की गणना करें

हमें एक धनात्मक पूर्णांक N दिया गया है। लक्ष्य N को घटाकर 0 करने के लिए आवश्यक संक्रियाओं की संख्या ज्ञात करना है। लागू किया गया संक्रिया N=N-P है जहाँ P, P का सबसे छोटा अभाज्य भाजक है।

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

इनपुट -एन=17

आउटपुट − N से 0 तक कम करने के लिए आवश्यक दिए गए प्रकार के संचालन की संख्या है - 1

स्पष्टीकरण - 17 का सबसे छोटा अभाज्य भाजक 17 ही है। तो ऑपरेशन केवल एक बार 17-17=0 लागू किया जाता है।

इनपुट -एन=20

आउटपुट − N से 0 तक कम करने के लिए आवश्यक दिए गए प्रकार के संचालन की संख्या है − 10

स्पष्टीकरण − 20 का सबसे छोटा अभाज्य भाजक 2 है। 2 को बार-बार घटाना और अगला अभाज्य भाजक ज्ञात करना:

20%2==0, 20-2=18
18%2==0, 18-2=16
…………………..14, 12, 10, 8, 6, 4, 2, 0 Total 10 times the operation is applied.

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

सभी के लिए भी N का सबसे छोटा अभाज्य भाजक हमेशा 2 होगा और सम N में से 2 घटाने पर फिर से एक सम संख्या प्राप्त होगी। सभी विषम संख्याओं के लिए सबसे छोटा अभाज्य भाजक विषम होगा, विषम को विषम से घटाने पर और संख्या सम हो जाएगी तो 2 सबसे छोटा अभाज्य भाजक बन जाएगा। सबसे छोटा अभाज्य भाजक ज्ञात करने के लिए i=2 से i तक इस प्रकार प्रारंभ करें कि i*i

  • इनपुट के रूप में एक पूर्णांक N लें।

  • फ़ंक्शन N_to_Zero(int N) N लेता है और N को 0 से कम करने के लिए आवश्यक संचालन की संख्या देता है।

  • गिनती का प्रारंभिक मान 0 के रूप में लें।

  • मैं =2 से शुरू। ट्रैवर्सिंग शुरू करें जबकि (i*i)

  • यदि (i*i) N से अधिक है, तो i=N सेट करें।

  • संचालन की संख्या 1+(N-i)/2 होगी।

  • गिनती को 1+(N-i)/2 के रूप में सेट करें।

  • परिणाम के रूप में वापसी की गिनती।

उदाहरण

#include<bits/stdc++.h>
using namespace std;
int N_to_Zero(int N){
   int count = 0;
   int i = 2;
   while((i * i) < N && (N % i)){
      i++;
   }
   if((i * i) > N){
      i = N;
   }
   count = 1 + (N-i)/2;
   return count;
}
int main(){
   int N = 10;
   cout<<"Count of operations of the given type required to reduce N to 0 are: "<<N_to_Zero(N);
   return 0;
}

आउटपुट

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

Count of operations of the given type required to reduce N to 0 are: 5

  1. दिए गए पेड़ में नोड्स की गणना करें जिसका वजन सी ++ में दो की शक्ति है

    एक बाइनरी ट्री को देखते हुए इसके नोड्स के वजन के साथ। लक्ष्य उन नोड्स की संख्या का पता लगाना है जिनका वजन इस तरह है कि संख्या दो की शक्ति है। अगर वजन 32 है तो यह 25 है इसलिए इस नोड को गिना जाएगा। उदाहरण के लिए इनपुट मान डालने के बाद जो ट्री बनाया जाएगा वह नीचे दिया गया है - आउटपुट Count the nod

  1. सी ++ में ग्रिड में दी गई दिशा में संभावित चालों की गणना करें

    हम दो चर n और m हैं जो n x m आकार के ग्रिड का प्रतिनिधित्व करते हैं और प्रारंभिक बिंदु x, y से शुरू करते हैं। कदमों/चालों के जोड़े भी दिए गए हैं जिन्हें चाल ((1,1), (2,2)) आदि के रूप में ग्रिड के अंदर ले जाया जा सकता है। चालों की प्रत्येक जोड़ी x,y अक्ष में उठाए गए कदमों की इकाई का प्रतिनिधित्व करत

  1. सी ++ प्रोग्राम दिए गए इटरेटर के प्रकार को खोजने के लिए

    एक पुनरावर्तक एक पॉइंटर की तरह एक वस्तु है जिसका उपयोग कंटेनर के तत्वों पर पुनरावृति करने के लिए किया जाता है। एक पुनरावर्तक का उपयोग करने का मुख्य लाभ एक सामान्य इंटरफ़ेस बनाना और एल्गोरिदम को इसे लागू करने के लिए उपयोग किए जाने वाले कंटेनर के प्रकार से प्रतिरक्षा बनाना है। C++ मानक पुस्तकालय में