हमें एक सकारात्मक संख्या दी गई है मान लीजिए num और कार्य LED लाइट्स में परिवर्तनों की संख्या की गणना करना है जो एक-एक करके प्रदर्शित होती हैं। हम मान लेंगे कि प्रारंभ में सभी LED बंद हैं और वे स्ट्रिंग मान के आधार पर शुरू होंगी।
इस प्रश्न को हल करने के लिए हमें यह समझने की आवश्यकता है कि सेवन-सेगमेंट डिस्प्ले क्या है और इसका कार्य।
सेवन-सेगमेंट डिस्प्ले क्या हैं
सेवन-सेगमेंट डिस्प्ले आउटपुट डिस्प्ले डिवाइस हैं जो छवि या टेक्स्ट या दशमलव संख्याओं के रूप में जानकारी प्रदर्शित करने का एक तरीका प्रदान करते हैं जो अधिक जटिल डॉट मैट्रिक्स डिस्प्ले का विकल्प है। यह डिजिटल घड़ियों, बुनियादी कैलकुलेटर, इलेक्ट्रॉनिक मीटर और अन्य इलेक्ट्रॉनिक उपकरणों में व्यापक रूप से उपयोग किया जाता है जो संख्यात्मक जानकारी प्रदर्शित करते हैं। इसमें सात सेगमेंट होते हैं जो लाइट एमिटिंग डायोड (LED) के होते हैं जो संख्यात्मक 8 की तरह असेंबल होते हैं।
सेवन-सेगमेंट डिस्प्ले का कार्य
जब सभी सेगमेंट को पावर दी जाती है तो संख्या 8 प्रदर्शित होती है और यदि आप 'g' के लिए पावर डिस्कनेक्ट करते हैं, तो यह संख्या 0 प्रदर्शित करता है। सेवन-सेगमेंट डिस्प्ले में, अलग-अलग पिन पर पावर (या वोल्टेज) एक ही समय में लागू किया जा सकता है, इसलिए हम 0 से 9 तक डिस्प्ले संख्यात्मक के संयोजन बना सकते हैं। चूंकि सेवन-सेगमेंट डिस्प्ले X और Z जैसे वर्णमाला नहीं बना सकते, इसलिए इसका उपयोग वर्णमाला के लिए नहीं किया जा सकता और इसका उपयोग केवल दशमलव संख्यात्मक परिमाण प्रदर्शित करने के लिए किया जा सकता है। हालांकि, सेवन-सेगमेंट डिस्प्ले A, B, C, D, E, और F वर्णमाला बना सकते हैं, इसलिए इसका उपयोग हेक्साडेसिमल अंकों को दर्शाने के लिए भी किया जा सकता है।
उदाहरण
इनपुट: num = "123" आउटपुट: count is 5
व्याख्या: 1 को लाइट अप करने के लिए आवश्यक कुल LED 2 है, 2 को लाइट अप करने के लिए आवश्यक कुल LED 5 है और 3 को लाइट अप करने के लिए आवश्यक कुल LED 5 है। तो प्रदर्शित करने में आवश्यक परिवर्तनों की कुल संख्या: 5
इनपुट: num = "576" आउटपुट: count is 10
व्याख्या: 5 को लाइट अप करने के लिए आवश्यक कुल LED 5 है, 7 को लाइट अप करने के लिए आवश्यक कुल LED 3 है और 6 को लाइट अप करने के लिए आवश्यक कुल LED 6 है। तो प्रदर्शित करने में आवश्यक परिवर्तनों की कुल संख्या: 10
उपयोग किया गया दृष्टिकोण:
- प्रदर्शित की जाने वाली संख्याओं को परिभाषित करने वाले पूर्णांक मानों की स्ट्रिंग इनपुट करें
- length() फ़ंक्शन का उपयोग करके दी गई स्ट्रिंग की लंबाई की गणना करें जो स्ट्रिंग में अंकों के अनुसार पूर्णांक मान वापस करेगा
- एक ऐरे बनाएं जो सभी LED मानों को स्टोर करेगा
- एक अस्थायी वैरिएबल लें मान लीजिए temp जो मान स्टोर करेगा
- i के लिए 1 से लूप शुरू करें और i लंबाई से कम हो
- लूप के अंदर, temp को temp + abs(LED[str[i] - '0'] - LED[str[i-1] - '0']) से सेट करें
- काउंट वापस करें
- परिणाम प्रिंट करें।
उदाहरण (C++ कोड)
#include<iostream>
using namespace std;
int countled(string str){
// एक अंक प्रदर्शित करने के लिए आवश्यक LED की संख्या
int Led[] = { 6, 2, 5, 5, 4, 5, 6, 3, 7, 5 };
int len = str.length();
// परिवर्तन की गणना
int res = Led[str[0] - '0'];
for (int i = 1; i < len; i++){
res = res + abs(Led[str[i] - '0'] - Led[str[i - 1] - '0']);
}
return res;
}
int main(){
string str = "123";
cout << "count is " << countled(str);
return 0;
}
आउटपुट
count is 5