हमें एक अंतराल [प्रथम, अंतिम] दिया गया है। लक्ष्य उन संख्याओं की संख्या ज्ञात करना है जिनका एक इकाई अंक k है और जो श्रेणी [प्रथम, अंतिम] के बीच स्थित है।
हम इसे i=first से i=last तक ट्रैवर्स करके करेंगे। प्रत्येक संख्या के लिए मैं इसके इकाई अंक की तुलना k से करता हूं, यदि वे समान वृद्धि वाले हैं तो गिनती करें।
आइए उदाहरणों से समझते हैं।
इनपुट -पहला=8 अंतिम=40 , k=8
आउटपुट − इकाई अंक k − 4 वाली संख्याओं की संख्या
स्पष्टीकरण -
Numbers between 8 and 40 with unit digit = 8 8,18, 28, 38
इनपुट -पहला=100 अंतिम=200 , k=9
आउटपुट − इकाई अंक k − 10 के साथ संख्याओं की संख्या
स्पष्टीकरण -
Numbers between 100 and 200 with unit digit = 9 109, 119, 129, 139, 149, 159, 169, 179, 189, 199. Total:10
नीचे दिए गए प्रोग्राम में इस्तेमाल किया गया तरीका इस प्रकार है
-
हम श्रेणी [प्रथम, अंतिम] को परिभाषित करने के लिए पहले और अंतिम दो पूर्णांक लेते हैं।
-
फ़ंक्शन getCount(int fst, int lst, int k) रेंज वेरिएबल और k लेता है और fst और lst के बीच संख्याओं की गिनती देता है और इकाई अंक k के रूप में होता है।
-
प्रारंभिक गणना 0 के रूप में लें।
-
i=fst से i=lst तक लूप प्रारंभ का उपयोग करना, प्रत्येक के लिए मैं इकाई अंक की गणना ldigit=i%10 के रूप में करता हूं।
-
अगर ldigit==k, वेतन वृद्धि गिनती।
-
परिणाम के रूप में वापसी की गिनती।
उदाहरण
#include <bits/stdc++.h> using namespace std; int getCount(int fst,int lst,int k){ int count=0; for(int i=fst;i<=lst;i++){ int ldigit=i%10; //to get last digit if(ldigit==k) //if both are equal increment count { ++count; } } return count; } int main(){ int first = 5, last = 30; int K=5; cout<<"Numbers with unit digit K in range:"<<getCount(first, last, K); return 0; }
आउटपुट
यदि हम उपरोक्त कोड चलाते हैं तो यह निम्न आउटपुट उत्पन्न करेगा -
Numbers with unit digit K in range:3