हमें एक अंतराल [प्रथम, अंतिम] दिया गया है। लक्ष्य उन संख्याओं की संख्या ज्ञात करना है जिनके पहले और अंतिम अंक इस अंतराल के भीतर समान हैं। उदाहरण के लिए, 232 का पहला और आखिरी अंक 2 के समान है।
हम इसे i=first से i=last तक ट्रैवर्स करके करेंगे। प्रत्येक संख्या के लिए मैं उसके पहले अंक की तुलना अंतिम अंक से करता हूं, यदि वे समान वृद्धिशील हैं तो गिनती करें।
आइए उदाहरणों से समझते हैं।
इनपुट -पहला=8 अंतिम=40
आउटपुट − समान प्रथम और अंतिम अंक वाली संख्याओं की संख्या − 5
स्पष्टीकरण − 8 और 40 के बीच की संख्याएं जिनके पहले और अंतिम अंक समान हों -
8, 9, 11, 22, 33
इनपुट -पहला=100 अंतिम=200
आउटपुट − समान पहले और अंतिम अंक वाली संख्याओं की संख्या:5
स्पष्टीकरण − 100 और 200 के बीच की संख्याएँ जिनके पहले और अंतिम अंक समान हों -
101, 111, 121, 131, 141, 151, 161, 171, 181, 191.
नीचे दिए गए प्रोग्राम में इस्तेमाल किया गया तरीका इस प्रकार है
-
हम श्रेणी [प्रथम, अंतिम] को परिभाषित करने के लिए पहले और अंतिम दो पूर्णांक लेते हैं।
-
फ़ंक्शन getFirstDigit(int num) एक नंबर लेता है और अपना पहला अंक लौटाता है।
-
जबकि num>=10, num को 10 से भाग दें। अंत में num का पहला अंक होगा। यह मान लौटाएं।
-
फ़ंक्शन getCount(int fst,int lst) श्रेणी चर लेता है और समान पहले और अंतिम अंकों के साथ संख्याओं की संख्या देता है।
-
प्रारंभिक गणना 0 के रूप में लें।
-
लूप के लिए i=fst से i=lst तक शुरू का उपयोग करना, प्रत्येक के लिए मैं getFirstDigit (i) को कॉल करके और fdigit में स्टोर करके इसे पहले अंक की गणना करता हूं। (fdigit=getFirstDigit(i)).
-
अंतिम अंक की गणना ldigit=i%10 के रूप में करें।
-
यदि ldigit==fdigit, का अर्थ है कि वे समान हैं। वेतन वृद्धि की संख्या।
-
परिणाम के रूप में वापसी की गिनती।
उदाहरण
#include <bits/stdc++.h> using namespace std; //to find starting digit int getFirstDigit(int num){ while (num >= 10) { num = num/ 10; } return num; } int getCount(int fst,int lst){ int count=0; for(int i=fst;i<=lst;i++){ int fdigit=getFirstDigit(i); int ldigit=i%10; //to get last digit if(fdigit==ldigit) //if both are equal increment count { ++count; } } return count; } int main(){ int first = 10, last = 23; cout<<"Numbers with same first and last digits:"<<getCount(first, last); return 0; }
आउटपुट
यदि हम उपरोक्त कोड चलाते हैं तो यह निम्न आउटपुट उत्पन्न करेगा -
Numbers with same first and last digits:2