हमें एक अंतराल [first, last] दिया गया है। लक्ष्य उन संख्याओं की गिनती ढूंढना है जिनका इकाई अंक k है और जो रेंज [first, last] के बीच हैं।
हम इसे i=first से i=last तक पार करके करेंगे। प्रत्येक संख्या i के लिए उसके इकाई अंक की तुलना k से करेंगे, यदि वे समान हैं तो काउंट बढ़ाएंगे।
आइए उदाहरणों से समझते हैं।
इनपुट - first=8 last=40, k=8
आउटपुट - इकाई अंक k वाली संख्याओं की संख्या: 4
व्याख्या -
8 और 40 के बीच इकाई अंक = 8 वाली संख्याएं: 8, 18, 28, 38
इनपुट - first=100 last=200, k=9
आउटपुट - इकाई अंक k वाली संख्याओं की संख्या: 10
व्याख्या -
100 और 200 के बीच इकाई अंक = 9 वाली संख्याएं: 109, 119, 129, 139, 149, 159, 169, 179, 189, 199। कुल: 10
नीचे दिए गए प्रोग्राम में उपयोग किया गया दृष्टिकोण
हम रेंज [first, last] को परिभाषित करने के लिए दो पूर्णांक first और last लेते हैं।
फंक्शन getCount(int fst, int lst, int k) रेंज वेरिएबल और k लेता है और fst और lst के बीच उन संख्याओं की गिनती लौटाता है जिनका इकाई अंक k है।
प्रारंभिक काउंट को 0 के रूप में लेते हैं।
फॉर लूप का उपयोग करके i=fst से i=lst तक शुरू करते हैं, प्रत्येक i के लिए इकाई अंक की गणना 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; //अंतिम अंक प्राप्त करने के लिए if(ldigit==k) //यदि दोनों समान हैं तो काउंट बढ़ाएं { ++count; } } return count; } int main(){ int first = 5, last = 30; int K=5; cout<<"रेंज में इकाई अंक K वाली संख्याएं: "<<getCount(first, last, K); return 0; } आउटपुट
यदि हम उपरोक्त कोड चलाते हैं तो यह निम्नलिखित आउटपुट उत्पन्न करेगा -
रेंज में इकाई अंक K वाली संख्याएं: 3