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

रेंज [L, R] में उन संख्याओं की गणना करें जिनके अंकों का योग Y है C++ में


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

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

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

इनपुट

START=10 END=20 Y=4

आउटपुट

अंकों का योग Y के बराबर वाली संख्याएं: 1

व्याख्या

संख्या 13 का अंकों का योग 4 के बराबर है।

इनपुट

START=10 END=50 Y=5

आउटपुट

अंकों का योग Y के बराबर वाली संख्याएं: 5

व्याख्या

संख्याएं 14, 23, 32, 41 और 50 का अंकों का योग 5 है।

नीचे दिए गए प्रोग्राम में उपयोग किया गया दृष्टिकोण

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

  • फ़ंक्शन digitSum(int start, int end, int y) अंकों का योग=y वाली संख्याओं की संख्या लौटाता है।

  • प्रारंभिक चर count को 0 से आरंभ करें ऐसी संख्याओं के लिए।

  • चर digsum को 0 लें।

  • फॉर लूप का उपयोग करके संख्याओं की रेंज को पार करें। i=start से i=end

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

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

  • व्हाइल के अंत में, जांचें कि (digsum == y)। यदि सत्य है तो काउंट बढ़ाएं।

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

  • काउंट को परिणाम के रूप में लौटाएं।

उदाहरण

#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; //अंकों का योग          num=num/10;       }       if(digsum==y) //मूल संख्या i है{          count++;          //cout<<i<<" ";       }    }    return count; } int main(){    int START = 100;    int END = 1000;    int Y = 5;    cout <<"अंकों का योग Y के बराबर वाली संख्याएं: "<<digitSum(START,END,Y);    return 0; }

आउटपुट

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

अंकों का योग Y के बराबर वाली संख्याएं: 15

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

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

  1. - 1 से N तक ऑलमोस्ट अभाज्य संख्याओं की गिनती खोजें C++ में

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

  1. - C++ में नंबर्स को उनके डिजिट्स के योग के अनुसार सॉर्ट करें

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