প্রদত্ত টাস্ক হল সাতটি সেগমেন্ট ডিসপ্লেতে এন সেগমেন্ট ব্যবহার করে সর্বাধিক সংখ্যা খুঁজে বের করা।
আসুন এখন বুঝতে পারি একটি উদাহরণ ব্যবহার করে আমাদের কী করতে হবে −
ইনপুট − N=5
আউটপুট − 71
ব্যাখ্যা −
সাতটি সেগমেন্টের ডিসপ্লেতে সবচেয়ে বড় সংখ্যাটি নিম্নরূপ প্রদর্শিত হবে
ইনপুট − N=6
আউটপুট − 111
নিম্নলিখিত প্রোগ্রামে ব্যবহৃত পদ্ধতি
-
নিম্নলিখিত পরিস্থিতিকে 3টি ক্ষেত্রে ভাগ করা যায় -
-
কেস 1 −
যদি N 0 বা 1 হয়, তাহলে কোন সংখ্যা প্রদর্শন করা সম্ভব নয়।
-
কেস 2 −
যদি N বিজোড় হয়। তারপরে বিজোড় সংখ্যক সেগমেন্টের সাথে যে সংখ্যাগুলি প্রদর্শিত হতে পারে তা হল 2, 3, 5, 7 এবং 8 যার মধ্যে 7টি সর্বনিম্ন সংখ্যক সেগমেন্ট নেয়, অর্থাৎ 3। তাই এই ক্ষেত্রে 7 হল সবচেয়ে উল্লেখযোগ্য সংখ্যা৷
-
কেস 3 −
যদি N জোড় হয়। তারপরে বিজোড় সংখ্যক সেগমেন্টের সাথে যে সংখ্যাগুলি প্রদর্শিত হতে পারে তা হল 0, 1, 4, 6, 9 এবং 8 যার মধ্যে 1টি সর্বনিম্ন সংখ্যক সেগমেন্ট নেয়, অর্থাৎ 2। তাই এই ক্ষেত্রে 1 হল সবচেয়ে উল্লেখযোগ্য সংখ্যা। .
-
-
ফাংশনে MaxNumber() প্রথমে
ব্যবহার করে বেস কন্ডিশন চেক করুনযদি (N ==1 || N ==0)
-
তারপর আরেকটি if স্টেটমেন্ট ব্যবহার করে, N জোড় কিনা তা পরীক্ষা করুন। যদি তাই হয় তাহলে "1" প্রিন্ট করুন কারণ এটি জোড় ক্ষেত্রে সবচেয়ে গুরুত্বপূর্ণ সংখ্যা এবং MaxNumber(N - 2) কল করুন কারণ এখানে 2টি সেগমেন্ট ব্যবহার করা হচ্ছে।
-
N বিজোড় কিনা তা পরীক্ষা করতে অন্য if স্টেটমেন্ট ব্যবহার করুন। যদি তাই হয় তাহলে "7" প্রিন্ট করুন কারণ এটি বিজোড় ক্ষেত্রে সবচেয়ে উল্লেখযোগ্য সংখ্যা এবং MaxNumber(N - 3) কল করুন কারণ এখানে 3টি সেগমেন্ট ব্যবহার করা হচ্ছে।
উদাহরণ
#include <iostream> using namespace std; void MaxNumber(int N){ //Condition to check base case if (N == 1 || N == 0){ return; } //If the number is even if (N % 2 == 0){ cout << "1"; MaxNumber(N - 2); } //If the number is odd else if (N % 2 == 1){ cout << "7"; MaxNumber(N - 3); } } //Main function int main(){ int N; N = 5; MaxNumber(N); return 0; }
আউটপুট
আমরা উপরের কোডটি চালালে আমরা নিম্নলিখিত আউটপুট পাব −
71