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

श्रेणी से संख्याओं की संख्या [एल, आर] जिनके अंकों का योग सी ++ में वाई है

संख्याओं की श्रेणी को परिभाषित करने के लिए हमें दो संख्याएं START और END प्रदान की जाती हैं। लक्ष्य [START,END] श्रेणी में उन सभी संख्याओं को खोजना है जिनके अंकों का योग दी गई संख्या Y के बराबर है।

हम इसे START से END तक की संख्याओं को पार करके करेंगे और प्रत्येक संख्या के लिए हम थोड़ी देर के लूप का उपयोग करके इसके अंकों का योग गिनेंगे। यदि यह योग Y के बराबर है, तो वेतन वृद्धि की गणना करें।

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

इनपुट

START=10 END=20 Y=4

आउटपुट

Numbers such that digit sum is equal to Y: 1

स्पष्टीकरण

Number 13 has digit sum equal to 4.

इनपुट

START=10 END=50 Y=5

आउटपुट

Numbers such that digit sum is equal to Y: 5

स्पष्टीकरण

Numbers 14, 23, 32, 41 and 50 have digit sum 5.

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

  • हम पूर्णांक START, END, Y लेते हैं।

  • फंक्शन डिजिटसम (इंट स्टार्ट, इंट एंड, इंट वाई) डिजिटम =वाई के साथ संख्याओं की गिनती देता है

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

  • परिवर्तनीय डिगसम को 0 के रूप में लें

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

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

  • डिगसम+=संख्या%10 की गणना करें। अगला अंक जोड़ने के लिए num=num/10 कम करें।

  • समय के अंत में, जांचें कि क्या ( डिगसम ==डी )। अगर सही वेतन वृद्धि गिनती है।

  • सभी लूपों के अंत में काउंट की कुल संख्या होगी जो शर्त को पूरा करती है।

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

उदाहरण

#include <bits/stdc++.h>
using namespace std;
int digitSum(int start, int end, int y){
   int count = 0;
   int digsum = 0;
   for (int i = start; i <= end; i++){
      int num=i;
      digsum=0;
      while(num>0){
         digsum+=num%10; //sum of digits
         num=num/10;
      }
      if(digsum==y) //original number is i{
         count++;
         //cout<<i<<" ";
      }
   }
   return count;
}
int main(){
   int START = 100;
   int END = 1000;
   int Y = 5;
   cout <<"Numbers such that digit sum is equal to Y: "<<digitSum(START,END,Y);
   return 0;
}

आउटपुट

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

Numbers such that digit sum is equal to Y: 15

  1. C++ में किसी सरणी के अंकों से बनने वाली दो संख्याओं का न्यूनतम योग

    विवरण अंकों की एक सरणी को देखते हुए जिसमें 0 से 9 तक के मान होते हैं। कार्य सरणी के अंकों से बनने वाली दो संख्याओं का न्यूनतम संभव योग ज्ञात करना है। कृपया ध्यान दें कि हमें दिए गए सरणी के सभी अंकों का उपयोग करना है उदाहरण यदि इनपुट ऐरे {7, 5, 1, 3, 2, 4} है तो न्यूनतम योग 382 है, क्योंकि हम दो नं

  1. C++ में 1 से N तक लगभग अभाज्य संख्याओं की संख्या ज्ञात कीजिए

    मान लीजिए कि हमारे पास एक संख्या N है। हमें 1 से N के बीच लगभग अभाज्य संख्याएँ ज्ञात करनी हैं। एक संख्या लगभग अभाज्य कहलाती है जब उसके ठीक दो अलग-अलग गुणनखंड हों। संख्याओं में कितने भी अभाज्य गुणनखंड हो सकते हैं, लेकिन दो अभाज्य गुणनखंड होने चाहिए। तो अगर N 2 है, तो आउटपुट 2 होगा। दो नंबर 6 और 10 है

  1. C++ में अंकों के योग के अनुसार संख्याओं को क्रमित करें

    इस खंड में हम देखेंगे कि संख्याओं को उनके अंकों के योग के अनुसार कैसे क्रमबद्ध किया जाए। इसलिए यदि किसी संख्या में अंकों का योग कम है, तो उसे पहले रखा जाएगा, फिर अगली संख्या को अंकों के बड़े योग के साथ रखा जाएगा। data = {14, 129, 501, 23, 0, 145} छँटाई के बाद, वे होंगे - data = {0, 14, 23, 501, 145