हमें दो संख्याएँ 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