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

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


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

हम इसे L और R के बीच सभी सम संख्याओं के अंकों का योग निकालकर और काउंट बढ़ाकर करेंगे यदि वह योग % 3 == 0 हो।

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

इनपुट - L=10, R=20

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

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

इनपुट - L=100, R=108

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

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

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

  • हम first और last वेरिएबल लेकर रेंज को परिभाषित करते हैं।

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

  • व्हाइल लूप का उपयोग करके, जब तक num != 0, num % 10 (इकाई अंक) को total में जोड़ते हैं।

  • num को 10 से विभाजित करके इसे कम करते हैं।

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

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

  • इंडेक्स i=first से i<=last तक शुरू करते हैं। जांचते हैं कि संख्या 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<<"रेंज [L, R] में उन सम संख्याओं की संख्या जिनके अंकों का योग 3 से विभाज्य है: "<<divisible_3(first, last); return 0; }

आउटपुट

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

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

  1. - C++ में दिए गए योग के बराबर अंकों के योग वाले सभी n-अंकीय संख्याएं प्रिंट करना

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

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

    मान लीजिए हमारे पास n तत्वों की एक सरणी A है। हमें दी गई सरणी में अधिकतम सन्निकट सम संख्याओं की संख्या ढूंढनी है। इसलिए यदि सरणी 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, 129}यहां