ভাগ্যবান সংখ্যা হল কিছু বিশেষ পূর্ণসংখ্যা। মৌলিক সংখ্যা থেকে, কিছু বিশেষ সংখ্যা তাদের অবস্থান দ্বারা বাদ দেওয়া হয়। তাদের মানের পরিবর্তে, তাদের অবস্থানের জন্য, সংখ্যাগুলি বাদ দেওয়া হয়। যে সংখ্যাগুলি মুছে ফেলা হয় না, তারাই ভাগ্যবান সংখ্যা৷
৷নম্বর মুছে ফেলা কিছু নিয়ম অনুসরণ করে। প্রথমে, প্রতিটি দ্বিতীয় নম্বর মুছে ফেলা হয়, তারপরে, সমস্ত 3য় নম্বর মুছে ফেলা হয় ইত্যাদি।
এখানে কিছু উদাহরণ -
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 – 25 all) 1 3 5 7 9 11 13 15 17 19 21 23 25 (deleting all 2nd numbers) 1 3 7 9 13 15 19 21 25 (All 3rd numbers are deleted, starting from 5) 1 3 7 9 13 15 21 25 (All 7th numbers are deleted starting from 19)
ইনপুট এবং আউটপুট
ইনপুট:ভাগ্যবান কিনা তা পরীক্ষা করার জন্য একটি নম্বর রাখুন। ধরা যাক সংখ্যাটি 13 আউটপুট:13 একটি ভাগ্যবান সংখ্যা।
অ্যালগরিদম
isLuckyNumber(number)
ইনপুট - একটি সংখ্যা।
আউটপুট - নম্বরটি ভাগ্যবান কিনা তা পরীক্ষা করুন৷
Begin counter := 2 (It is static data, not be initialized again in recursion call) if counter > n, then return 1 if n mod counter = 0, then return 0 n := n – (n / counter) counter := counter + 1 isLuckyNumber(n) End
উদাহরণ
#include <iostream> using namespace std; int counter = 2; //used during recursion bool isLuckyNumber(int n) { if(counter > n) return 1; if(n%counter == 0) return 0; n -= n/counter; //n will be next position for recursion 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.