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

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

हमें दो संख्याएँ L और R दी गई हैं जो एक श्रेणी [L,R] को परिभाषित करती हैं। लक्ष्य एल और आर के बीच की सभी संख्याओं को खोजना है जो सम हैं, और जिनके अंकों का योग 3 से विभाज्य है।

हम L और R के बीच सभी सम संख्याओं के अंकों के योग की गणना करके और यदि वह योग%3==0 हो तो वृद्धि की गणना करके ऐसा करेंगे।

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

इनपुट - एल=10, आर=20

आउटपुट - श्रेणी में सभी सम संख्याओं की गणना [L, R] जिनके अंकों का योग 3:2 से विभाज्य है

स्पष्टीकरण - 10 और 20 के बीच की संख्याएँ जो सम हैं। 10,12,14,16,18,20। जिनके अंकों का योग 3=12 और 18 से विभाज्य है।

इनपुट - एल=100, आर=108

आउटपुट - श्रेणी में सभी सम संख्याओं की गणना [L, R] जिनके अंकों का योग 3:2 से विभाज्य है

स्पष्टीकरण - 100 और 108 के बीच की संख्याएँ जो सम हैं। 100,102,104,106,108। जिनके अंकों का योग 3=102 और 108 से विभाज्य है।

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

  • हम श्रेणी को परिभाषित करने के लिए पहले और अंतिम चर लेते हैं।

  • फ़ंक्शन Digit_sum(int num) संख्या लेता है और उसके अंकों का योग देता है।

  • लूप के दौरान, num!=0 तक, num%10, (इकाई अंक) को कुल में जोड़ें।

  • इसे कम करने के लिए संख्या को 10 से भाग दें।

  • अंत में कुल में सभी अंकों का योग होगा।

  • फंक्शन divisible_3(int first, int last) संख्याओं की श्रेणी लेता है और उन सम संख्याओं की गिनती लौटाता है जिनका अंकों का योग 3 से विभाज्य होता है।

  • अनुक्रमणिका i=प्रथम से प्रारंभ करके i<=अंतिम तक। जांचें कि क्या संख्या i सम है। (i%2==0).

  • यदि सत्य है, तो Digit_sum(i) पर कॉल करके i के अंकों के योग की गणना करें। यदि वह योग%3==0. फिर इंक्रीमेंट काउंट।

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

उदाहरण

#include <bits/stdc++.h>
using namespace std;
int Digit_sum(int num){
   int total = 0;
   while (num!= 0){
      total += num % 10;
      num = num / 10;
   }
   return total;
}
int divisible_3(int first, int last){
   int count = 0;
   for (int i = first; i <= last; i++){
      if (i % 2 == 0 && Digit_sum(i) % 3 == 0){
         count++;
      }
   }
   return count;
}
int main(){
   int first = 300, last = 500;
   cout<<"Count of all even numbers in the range [L, R] whose sum of digits is divisible by 3 are: "<<divisible_3(first, last);
   return 0;
}

आउटपुट

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

Count of all even numbers in the range [L, R] whose sum of digits is divisible by 3 are: 34

  1. उन सभी एन-डिजिट नंबरों को प्रिंट करें जिनके अंकों का योग C++ में दिए गए योग के बराबर है

    इस समस्या में, हमें दो अंक n और योग दिया जाता है। हमें उन सभी n अंकों की संख्याओं को प्रिंट करना है जिनका योग योग के बराबर है। इस समस्या में, अग्रणी 0 वाली संख्याओं पर विचार नहीं किया जाता है। समस्या को समझने के लिए एक उदाहरण लेते हैं, Input: n = 2 , sum = 5 Output: 14 23 32 41 50 Explanation: The

  1. C++ में अधिकतम सन्निहित सम संख्याओं की संख्या ज्ञात कीजिए

    मान लीजिए कि हमारे पास n तत्वों के साथ एक सरणी A है। हमें दिए गए सरणी में सन्निहित सम संख्याओं की अधिकतम संख्या ज्ञात करनी है। तो अगर एरे ए =[1, 2, 3, 4, 6, 8, 7] की तरह है, तो गिनती 3 होगी। हम इसे आसानी से हल कर सकते हैं। हमें दो गणना चर की आवश्यकता है एक है max_current, और दूसरा है max_till_now।

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

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