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

C++ में दो संख्याओं का उपयोग करके उन संख्याओं की गणना करें जिनका निर्माण किया जा सकता है

हमें तीन नंबर X, Y और N (रेंज [1,N] को परिभाषित करने के लिए) दिए गए हैं। लक्ष्य [1,N] के दायरे में उन सभी संख्याओं को खोजना है, जिनका निर्माण X और Y का उपयोग करके कितनी भी बार किया जा सकता है..

उदाहरण के लिए यदि एक्स =2 और वाई =3। संख्या 6 का निर्माण 2 तीन बार (2+2+2) या 3 दो बार (3+3) का उपयोग करके किया जा सकता है। इसी तरह 2 को दो बार और 3 बार (2+2+3) का उपयोग करके 7 का निर्माण किया जा सकता है।

हम 1 से N तक प्रत्येक संख्या से X या Y घटाकर ऐसा करेंगे। यदि अंतिम संख्या घटकर 0 हो जाती है तो वृद्धि की गणना।

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

इनपुट

N=10 X=4, Y=3

आउटपुट

Total numbers constructed using X & Y only: 7

स्पष्टीकरण

Numbers constructed by 3 and 4 only:
3, 4, 6 (3+3), 7 (3+4), 8 (4+4), 9 (3+3+3), 10 (3+3+4)

इनपुट

N=10 X=5, Y=4

आउटपुट

Total numbers constructed using X & Y only: 5

स्पष्टीकरण

Numbers constructed by 4 and 5 only:
4, 5, 8(4+4), 9 (4+5), 10 (5+5)

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

  • हम तीन पूर्णांक X, Y और N लेते हैं।

  • फंक्शन कंस्ट्रक्शननम्स (इंट एन, इंट एक्स, इंट वाई) उन संख्याओं की संख्या देता है जिन्हें केवल एक्स और वाई का उपयोग करके बनाया जा सकता है।

  • ऐसी संख्याओं के लिए प्रारंभिक चर गणना को 0 के रूप में लें।

  • लूप के लिए उपयोग कर संख्याओं की ट्रैवर्स श्रेणी। i=1 से i<=n

  • अब प्रत्येक संख्या के लिए num=i, जबकि लूप का उपयोग करके जांचें कि क्या num>0,

  • जबकि(num%x==0) और संख्या 0 नहीं है, इसमें से x घटाएं।

  • जबकि(num%y==0) और संख्या 0 नहीं है, इसमें से y घटाएं।

  • यदि x और y को घटाने पर संख्या दोनों से विभाज्य नहीं है और दोनों से बड़ी है। इसमें x और y दोनों को घटाएं।

  • यदि बाहरी समय के बाद लूप चेक करें कि क्या संख्या 0 है। इसका मतलब है कि x, y या दोनों संख्या बना सकते हैं। वेतन वृद्धि की संख्या।

  • सभी लूपों के अंत में गिनती की कुल संख्या होगी।

  • परिणाम के रूप में गिनती लौटाएं।

उदाहरण

#include <bits/stdc++.h>
using namespace std;
int constructNums(int n,int x,int y){
   int count = 0;
   for (int i = 1; i <= n; i++) {
      int num = i;
      while(num>0){
         while((num%x)==0 && num!=0)
         num-=x;
         while((num%y)==0 && num!=0)
         num-=y;
         if (num>x && num>y)
            num=num-x-y;
         else
            break;
      }
      if (num==0)
         { count++;}
   }
   return count;
}
int main(){
   int N=20;
   int X=5,Y=4;
   cout <<"Total numbers constructed using X & Y only:"<<constructNums(N,X,Y);
   return 0;
}

आउटपुट

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

Total numbers constructed using X & Y only:14

  1. C++ दो संख्याओं के सामान्य भाजक के लिए कार्यक्रम?

    यहां हम देखेंगे कि हम दो संख्याओं के उभयनिष्ठ भाजक की संख्या कैसे प्राप्त कर सकते हैं। हमें सभी उभयनिष्ठ भाजक नहीं मिलेंगे, लेकिन हम यह गिनेंगे कि कितने उभयनिष्ठ भाजक हैं। यदि दो संख्याएँ 12 और 24 की तरह हैं, तो उभयनिष्ठ भाजक 1, 2, 3, 4, 6, 12 हैं। अतः 6 उभयनिष्ठ भाजक हैं, इसलिए उत्तर 6 होगा। एल्गोर

  1. सी ++ में बड़ी संख्या में हैंडलिंग?

    सी ++ में, हम बूस्ट लाइब्रेरी का उपयोग करके बड़ी संख्या में उपयोग कर सकते हैं। यह सी ++ बूस्ट लाइब्रेरी व्यापक रूप से उपयोग की जाने वाली लाइब्रेरी है। इसका उपयोग विभिन्न वर्गों के लिए किया जाता है। इसमें अनुप्रयोगों का बड़ा डोमेन है। उदाहरण के लिए, बूस्ट का उपयोग करके, हम 264 . जैसी बड़ी संख्या का उ

  1. C++ प्रोग्राम दो नंबर स्वैप करने के लिए

    दो नंबरों को स्वैप करने के लिए प्रोग्राम बनाने के दो तरीके हैं। एक में एक अस्थायी चर का उपयोग करना शामिल है और दूसरा तरीका तीसरे चर का उपयोग नहीं करता है। इन्हें विस्तार से इस प्रकार समझाया गया है - अस्थायी चर का उपयोग करके दो नंबरों को स्वैप करने का कार्यक्रम एक अस्थायी चर का उपयोग करके दो नंबरों