परिचय
लकी नंबर कुछ विशेष पूर्णांक संख्याएं हैं। मूल संख्याओं से, उनकी स्थिति के आधार पर कुछ विशेष संख्याओं को हटा दिया जाता है। उनके मान के बजाय, उनकी स्थिति के कारण संख्याओं को हटाया जाता है। जो संख्याएं नहीं हटाई जातीं, वे लकी नंबर होती हैं।
हटाने का नियम
संख्या हटाने का कुछ नियम है। पहले, हर दूसरी संख्या हटाई जाती है, उसके बाद, सभी तीसरी संख्याएं हटाई जाती हैं, और इसी तरह आगे।
उदाहरण
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 सभी) 1 3 5 7 9 11 13 15 17 19 21 23 25 (सभी दूसरी संख्याएं हटाई गईं) 1 3 7 9 13 15 19 21 25 (सभी तीसरी संख्याएं हटाई गईं, 5 से शुरू करके) 1 3 7 9 13 15 21 25 (सभी 7वीं संख्याएं हटाई गईं, 19 से शुरू करके)
इनपुट और आउटपुट
इनपुट: जांचने के लिए एक संख्या डालें कि वह लकी है या नहीं। मान लीजिए संख्या 13 है।
आउटपुट: 13 एक लकी नंबर है।
एल्गोरिदम
isLuckyNumber(number)
इनपुट: एक संख्या
आउटपुट: जांचें कि संख्या लकी है या नहीं
Begin
counter := 2 (यह स्थिर डेटा है, पुनरावर्ती कॉल में फिर से आरंभ नहीं किया जाता)
यदि counter > n, तो
1 लौटाएं
यदि n mod counter = 0, तो
0 लौटाएं
n := n – (n / counter)
counter := counter + 1
isLuckyNumber(n)
End
उदाहरण (C++ कोड)
#include <iostream>
using namespace std;
int counter = 2; // पुनरावृत्ति के दौरान उपयोग किया जाता है
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.