यहां हम nवीं फाइबोनैचि पद के 10 का गुणक होने या न होने की जांच करने का एक कुशल तरीका देखेंगे। मान लीजिए फाइबोनैचि पद हैं {0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987}। तो यहां 15वां (0 से गिनने पर) फाइबोनैचि पद 10 से विभाज्य है। 16 के लिए यह सत्य वापस करेगा।
एक आसान विधि दी गई पद तक फाइबोनैचि संख्याएं उत्पन्न करना है, और जांचना है कि क्या यह 10 से विभाज्य है? लेकिन यह समाधान अच्छा नहीं है, क्योंकि यह बड़े पदों के लिए काम नहीं करेगा।
एक और अच्छा दृष्टिकोण है:
फाइबोनैचि पद: 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987
ये संख्याएं (मोटे अक्षरों में चिह्नित) 2 से विभाज्य हैं। और उनके अंतराल 3 फाइबोनैचि पद हैं। इसी तरह, जांचें कि:
फाइबोनैचि पद: 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987
हर 5वां पद 5 से विभाज्य है। अब 3 और 5 का LCM 15 है। इसलिए हम कह सकते हैं कि हर 15वां फाइबोनैचि पद 10 से विभाज्य है।
एल्गोरिदम
fiboDivTen(term)
शुरुआत
यदि पद 15 से विभाज्य है, तो
सत्य वापस करें
यदि समाप्त
असत्य वापस करें
समाप्त
उदाहरण
#include <iostream>
using namespace std;
bool fiboDivTen(int term) {
if (term % 15 == 0) {
return true;
}
return false;
}
int main() {
int term = 45;
if (fiboDivTen(term))
cout << "Divisible";
else
cout << "Not Divisible";
return 0;
}
आउटपुट
Divisible