पृष्ठभूमि
आप में से अधिकांश जानते हैं कि एक फाइबोनैचि संख्या क्या है। आप में से कुछ को पता हो सकता है कि ज़ीकेनडॉर्फ के प्रमेय के अनुसार, सभी सकारात्मक पूर्णांकों को एक या अधिक विशिष्ट फाइबोनैचि संख्याओं के योग के रूप में दर्शाया जा सकता है । यदि पूर्णांक के इष्टतम Zeckendorf प्रतिनिधित्व में शब्दों की संख्या n
स्वयं एक फाइबोनैचि संख्या है, तो हम n
"गुप्त रूप से" फाइबोनैचि कहेंगे ।
उदाहरण के लिए:
139 = 89 + 34 + 13 + 3
This is a total of 4 integers. Since 4 is not a Fibonacci number, 139 is not secretly Fibonacci
140 = 89 + 34 + 13 + 3 + 1
This is a total of 5 integers. Since 5 is a Fibonacci number, 140 is secretly Fibonacci
टिप्पणियाँ
- लालची एल्गोरिथ्म का उपयोग करते हुए इष्टतम ज़ेकेनडॉर्फ प्रतिनिधित्व पाया जा सकता है। बस सबसे बड़ा फाइबोनैचि संख्या <= n लें और इसे 0 से पहुंचने तक n से घटाएं
- सभी फाइबोनैचि संख्याओं को 1 फाइबोनैचि संख्या (स्वयं) के योग के रूप में दर्शाया जा सकता है। चूंकि 1 एक फाइबोनैचि संख्या है, सभी फाइबोनैचि संख्या भी गुप्त रूप से फाइबोनैचि है।
चुनौती
आपकी चुनौती एक प्रोग्राम या फ़ंक्शन लिखना है जो पूर्णांक लेता है और रिटर्न करता है कि क्या पूर्णांक गुप्त रूप से फाइबोनैचि है।
इनपुट
आप किसी भी उचित प्रारूप में इनपुट ले सकते हैं। आप मान सकते हैं कि इनपुट एकल धनात्मक पूर्णांक होगा।
उत्पादन
इनपुट के लिए दो अलग-अलग परिणामों में से एक आउटपुट है कि क्या इनपुट गुप्त रूप से फाइबोनैचि है। उदाहरणों में शामिल हैं True
/ False
, 1
/ 0
, आदि।
स्कोरिंग
यह कोड-गोल्फ है , इसलिए बाइट्स जीत में सबसे छोटा जवाब है! मानक खामियों को मना किया जाता है।
परीक्षण के मामलों
Truthy (secretly Fibonacci)
1
2
4
50
140
300099
Falsey (NOT secretly Fibonacci)
33
53
54
139
118808