লাকি নাম্বার হল কিছু বিশেষ পূর্ণসংখ্যা। মৌলিক সংখ্যাগুলো থেকে তাদের অবস্থানের কারণে কিছু বিশেষ সংখ্যা বাদ দেওয়া হয়। তাদের মান নয়, বরং তাদের অবস্থানের কারণে সংখ্যাগুলো বাদ দেওয়া হয়। যেসব সংখ্যা বাদ দেওয়া হয় না, সেগুলোই লাকি নাম্বার।
সংখ্যা বাদ দেওয়ার কিছু নিয়ম রয়েছে। প্রথমে, প্রতিটি দ্বিতীয় সংখ্যা বাদ দেওয়া হয়, তারপর সব ৩য় সংখ্যা বাদ দেওয়া হয় এবং এভাবে চলতে থাকে।
এখানে কিছু উদাহরণ দেওয়া হলো:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 (১ – ২৫ সব) 1 3 5 7 9 11 13 15 17 19 21 23 25 (সব ২য় সংখ্যা বাদ দেওয়া) 1 3 7 9 13 15 19 21 25 (সব ৩য় সংখ্যা বাদ দেওয়া, ৫ থেকে শুরু করে) 1 3 7 9 13 15 21 25 (সব ৭ম সংখ্যা বাদ দেওয়া ১৯ থেকে শুরু করে)
ইনপুট এবং আউটপুট
ইনপুট: একটি সংখ্যা দিন যাতে বোঝা যায় সেটি লাকি নাকি। ধরা যাক সংখ্যাটি ১৩ আউটপুট: ১৩ একটি লাকি নম্বর।
অ্যালগরিদম
isLuckyNumber(number)
ইনপুট - একটি সংখ্যা।
আউটপুট** - সংখ্যাটি লাকি কিনা তা পরীক্ষা করুন।
শুরু
counter := 2 (এটি স্ট্যাটিক ডেটা, রিকার্শন কলেও পুনরায় ইনিশিয়ালাইজ করা হবে না)
যদি counter > n, তবে
1 ফেরত দিন
যদি n mod counter = 0, তবে
0 ফেরত দিন
n := n – (n / counter)
counter := counter + 1
isLuckyNumber(n)
শেষউদাহরণ
#include <iostream> using namespace std; int counter = 2; //রিকার্শন timpul ব্যবহৃত bool isLuckyNumber(int n) { if(counter > n) return 1; if(n%counter == 0) return 0; n -= n/counter; //n হবে রিকার্শনের জন্য পরবর্তী অবস্থান counter++; return isLuckyNumber(n); } int main() { int x = 13; if(isLuckyNumber(x)) cout << x<<" is a lucky number."; else cout << x<<" is not a lucky number."; }আউটপুট
13 is a lucky number.