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