প্রদত্ত টাস্ক হল সাতটি সেগমেন্ট ডিসপ্লেতে এন সেগমেন্ট ব্যবহার করে সর্বাধিক সংখ্যা খুঁজে বের করা।
আসুন এখন বুঝতে পারি একটি উদাহরণ ব্যবহার করে আমাদের কী করতে হবে −
ইনপুট − 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