একটি সংখ্যা দেওয়া থাকলে, সেটি লাকি সংখ্যা কিনা তা যাচাই করে ফলাফল দেখানো এই প্রোগ্রামের উদ্দেশ্য।
লাকি সংখ্যা কী?
লাকি সংখ্যা হলো এমন সংখ্যা যার প্রতিটি অঙ্ক অন্যদের থেকে ভিন্ন। যদি কমপক্ষে একটি অঙ্ক повтор হয়, তবে সেটি লাকি সংখ্যা নয়।
উদাহরণ
Input-: n = 1234 Output-: it is a lucky number Explanation-: সংখ্যাতে কোনো অঙ্ক повтор হয়নি, তাই এটি লাকি Input-: n = 3434 Output-: it is not a lucky number Explanation-: ৩ এবং ৪ অঙ্ক দুবার করে повтор হয়েছে, তাই লাকি নয়
প্রোগ্রামে ব্যবহৃত পদ্ধতি:
- যাচাই করার জন্য সংখ্যা n ইনপুট নেওয়া
- সংখ্যার সব অঙ্ক ঘুরে বের করা
- প্রতিটি অঙ্ক ভিজিট করা হয়েছে কিনা তা মার্ক করা এবং ইতিমধ্যে পাওয়া গিয়েছে কিনা যাচাই করা
- সংখ্যাটি লাকি কিনা তা প্রদর্শন করা
অ্যালগরিদম
Start Step1→ লাকি সংখ্যা কিনা যাচাই করার ফাংশন ঘোষণা bool check_lucky(int size) bool arr[10] ঘোষণা Loop For i=0 to 9 arr[i] = false সেট End Loop While(size > 0) int digit = size % 10 ঘোষণা IF (arr[digit]) return false End arr[digit] = true সেট size = size/10 সেট End return true Step 2→ main() এ int arr[] = {0,34,2345,1249,1232} ঘোষণা int size = sizeof(arr)/sizeof(arr[0]) ক্যালকুলেট Loop For i=0 to size-1 check_lucky(arr[i])? " is Lucky " প্রিন্ট : " is not Lucky " প্রিন্ট End Stop উদাহরণ
#include<iostream> using namespace std; // সংখ্যা লাকি হলে true রিটার্ন bool check_lucky(int size) { bool arr[10]; for (int i=0; i<10; i++) arr[i] = false; while (size > 0) { int digit = size % 10; if (arr[digit]) return false; arr[digit] = true; size = size/10; } return true; } int main() { int arr[] = {0,34,2345,1249,1232}; int size = sizeof(arr)/sizeof(arr[0]); for (int i=0; i<size; i++) check_lucky(arr[i])? cout << arr[i] << " is Lucky \n": cout << arr[i] << " is not Lucky \n"; return 0; } আউটপুট
0 is Lucky 34 is Lucky 2345 is Lucky 1249 is Lucky 1232 is not Lucky