हमें प्रारंभ और अंत वाली एक श्रेणी दी गई है और कार्य दिए गए श्रेणी में मौजूद हेक्साडेसिमल संख्याओं या वर्णों की गणना करना है।
हेक्साडेसिमल अक्षर क्या हैं?
कंप्यूटर के संदर्भ में, हेक्साडेसिमल संख्याएँ वे संख्याएँ होती हैं जिनका आधार 16 होता है, जिसका अर्थ है कि द्विआधारी अंक को 16-बिट में दर्शाया जा सकता है। इसमें 0-15 से शुरू होने वाली पूर्णांक संख्याएँ होती हैं। जहाँ 10 को A, 11 को B, 12 को C, 13 को D, 14 को E और 15 को F के रूप में दर्शाया गया है।
इसलिए, नीचे दिए गए प्रोग्राम में हमारा काम यह पता लगाना है कि रेंज में हेक्साडेसिमल अल्फाबेट्स हैं या नहीं।
उदाहरण के लिए
Input − start = 10, End = 13 Output − 4
स्पष्टीकरण - 10 और 13 के बीच 4 हेक्साडेसिमल संख्याएँ हैं यानी 10 ए, 11 बी, 12 सी और 13 डी हैं।
Input − start = 15, End = 16 Output − 1
स्पष्टीकरण - केवल एक हेक्साडेसिमल वर्णमाला है यानी 15 को F और 16 को क्रमशः 10 के रूप में दर्शाया गया है।
नीचे दिए गए प्रोग्राम में इस्तेमाल किया गया तरीका इस प्रकार है
-
वेरिएबल से शुरू होने वाली रेंज इनपुट करें मान लीजिए, शुरू करें और खत्म करें।
-
काउंट को स्टोर करने के लिए एक वैरिएबल काउंट घोषित करें और इसे 0 से इनिशियलाइज़ करें
-
शुरू करने के लिए i के साथ एक लूप प्रारंभ करें और जब तक i अंत से कम या बराबर न हो
-
लूप के अंदर, जांचें कि क्या मैं 10 से बड़ा या बराबर है और मैं भी 15 से बड़ा या बराबर है, तो गिनती को 1 से बढ़ाएँ
-
वरना, जांचें कि क्या मैं 15 से बड़ा हूं
-
फिर, i और ट्रैवर्स के मान के साथ एक अस्थायी चर अस्थायी सेट करें जबकि k 0 के बराबर नहीं है
-
और जांचें कि क्या k%16 10 से बड़ा या बराबर है
-
गिनती को 1 से बढ़ाएं
-
और, अस्थायी को अस्थायी/16 के अनुसार सेट करें
-
गिनती का मान लौटाएं
-
परिणाम प्रिंट करें।
उदाहरण
#include <iostream>
using namespace std;
// Function to count the
// total number hexadecimal alphabet
int counthexa(int start, int end){
int result = 0;
for (int i = start; i <= end; i++){
// All hexadecimal alphabets
// from 10 to 15
if (i >= 10 && i <= 15){
result++;
}
// If i > 15 then perform mod by 16 repeatedly
// till the number is > 0
// If number % 16 > 10 then increase count
else if (i > 15){
int k = i;
while (k != 0){
if (k % 16 >= 10){
result++;
}
k = k / 16;
}
}
}
return result;
}
// Main Function
int main(){
int start = 10, end = 60;
cout << "count is: "<<counthexa(start, end);
return 0;
} आउटपुट
यदि हम उपरोक्त कोड चलाते हैं तो यह निम्न आउटपुट उत्पन्न करेगा -
count is: 21