start और end के बीच संख्याओं की एक रेंज दी गई है। लक्ष्य उन संख्याओं की गिनती ढूंढना है जिनका पहला अंक अंतिम अंक के बराबर है और जो रेंज [ first,last ] में आती हैं।
यदि वे रेंज में हैं तो सभी एकल अंक वाली संख्याओं को गिना जाएगा।
उदाहरणों से समझते हैं।
उदाहरण के लिए
इनपुट - start = 100, end = 200
आउटपुट - रेंज में उन संख्याओं की गिनती जिनका पहला अंक अंतिम अंक के बराबर है: 10
व्याख्या - संख्याएं होंगी:
101, 121, 131, 141, 151, 161, 171, 181 और 191।
इनपुट - start = 1, end = 10
आउटपुट - रेंज में उन संख्याओं की गिनती जिनका पहला अंक अंतिम अंक के बराबर है: 9
व्याख्या - सभी 1-अंक वाली संख्याएं गिनी जाएंगी। 1, 2, 3, 4, 5, 6, 7, 8, 9
नीचे दिए गए प्रोग्राम में उपयोग किया गया दृष्टिकोण
यदि वे रेंज [start,end] में हैं तो सभी एकल अंक वाली संख्याओं को गिना जाएगा। अब प्रत्येक संख्या के लिए पहला और अंतिम अंक जांचें। यदि पहला अंक अंतिम से बड़ा है तो count में 8 + val/10 जोड़ें, यदि छोटा है तो count में 9 + val/10 जोड़ें। यहां val पुनरावर्ती कॉल range(int val) में वर्तमान संख्या है।
- रेंज वेरिएबल के रूप में पूर्णांक start और end लें।
- count = range(end) - range(start) सेट करें।
- फ़ंक्शन range(int val) पूर्णांक संख्याएं लेता है और रेंज में उन संख्याओं की गिनती लौटाता है जिनका पहला अंक अंतिम अंक के बराबर है।
- प्रारंभिक गिनती 0 लें।
- अंतिम अंक के रूप में end लें जो val%10 है।
- यदि यह एकल अंक वाली संख्या है (10 से कम) तो val लौटाएं।
- अब while लूप का उपयोग करके start=val%10 के रूप में गणना करें। val को 10 से घटाएं। तो start में पहला अंक होगा।
- अब यदि start<=end तो count में 9 + set_val / 10 जोड़ें।
- अब यदि start>end तो count में 8 + set_val / 10 जोड़ें।
- अंत में परिणाम के रूप में count लौटाएं।
उदाहरण
#include <iostream> using namespace std; int range(int val) { int count = 0; int start; int end = val % 10; int set_val = val; if (val < 10) { return val; } end = val % 10; while (val) { start = val % 10; val = val / 10; } if (start <= end) { count = 9 + set_val / 10; } else { count = 8 + set_val / 10; } return count; } int main() { int start = 10, end = 50; int count = range(end) - range(start); cout << "Count of Numbers in Range where first digit is equal to last digit of the number are: " << count; return 0; } यदि हम उपरोक्त कोड चलाते हैं तो यह निम्नलिखित आउटपुट उत्पन्न करेगा
आउटपुट
Count of Numbers in Range where first digit is equal to last digit of the number are: 4