আমাদের একটি পজিটিভ সংখ্যা (স্ট্রিং আকারে) num দেওয়া আছে। কাজ হল ৭-সেগমেন্ট ডিসপ্লে-এ ডিজিটগুলো একের পর এক দেখাতে হলে LED লাইটগুলোতে মোট কতবার পরিবর্তন (changes) হবে তা গণনা করা। ধরে নেওয়া হয়েছে সব LED প্রাথমিকভাবে বন্ধ (off) অবস্থায় আছে।
৭-সেগমেন্ট ডিসপ্লে কী?
৭-সেগমেন্ট ডিসপ্লে হল একটি আউটপুট ডিভাইস যা ৭টি LED সেগমেন্ট (a, b, c, d, e, f, g) ব্যবহার করে ০-৯ পর্যন্ত ডিজিট প্রদর্শন করে। ৮ নম্বর ডিজিট দেখাতে সব ৭টি LED জ্বালাতে হয়।

৭-সেগমেন্ট ডিসপ্লে-এ ডিজিটগুলো দেখানোর জন্য লাগে LED-র সংখ্যা:
0: 6, 1: 2, 2: 5, 3: 5, 4: 4, 5: 5, 6: 6, 7: 3, 8: 7, 9: 5

উদাহরণ:
ইনপুট: "123" → আউটপুট: count is 5
ব্যাখ্যা: ১ দেখাতে ২টি LED, ২ দেখাতে ৫টি, ৩ দেখাতে ৫টি। পরিবর্তন: ২ + |৫-২| + |৫-৫| = ৫।
ইনপুট: "576" → আউটপুট: count is 10
ব্যাখ্যা: ৫ (৫ LED), ৭ (৩ LED), ৬ (৬ LED)। পরিবর্তন: ৫ + |৩-৫| + |৬-৩| = ১০।
অ্যালগরিদম
LED অ্যারে: {6,2,5,5,4,5,6,3,7,5}
প্রথম ডিজিটের LED কাউন্ট = res
পরবর্তী ডিজিটগুলোতে: res += abs(LED[current] - LED[previous])
ফলাফল রিটার্ন করুন
প্রোগ্রাম
#include <iostream>
using namespace std;
int countled(string str) {
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