एक सीधी-चेन एल्क * ने सिंगल (अल्केन), डबल (एल्केन), या ट्रिपल बॉन्ड (एल्केनी) से जुड़े कार्बन परमाणुओं के अनुक्रम के रूप में परिभाषित किया गया है, (निहित हाइड्रोजेन का उपयोग किया जाता है।) कार्बन परमाणु केवल 4 बॉन्ड बनाते हैं, इसलिए। किसी भी कार्बन परमाणु को चार से अधिक बंधनों के लिए बाध्य नहीं किया जा सकता है। एक सीधी-चेन एल्क * ने अपने कार्बन-कार्बन बांड की एक सूची के रूप में प्रतिनिधित्व किया जा सकता है।
ये मान्य सीधी-श्रृंखला alk * nes के कुछ उदाहरण हैं:
[] CH4 Methane
[1] CH3-CH3 Ethane
[2] CH2=CH2 Ethene
[3] CH≡CH Ethyne
[1,1] CH3-CH2-CH3 Propane
[1,2] CH3-CH=CH2 Propene
[1,3] CH3-C≡CH Propyne
[2,1] CH2=CH-CH3 Propene
[2,2] CH2=C=CH2 Allene (Propadiene)
[3,1] CH≡C-CH3 Propyne
[1,1,1] CH3-CH2-CH2-CH3 Butane
...
हालांकि ये नहीं हैं, क्योंकि कम से कम एक कार्बन परमाणु में 4 से अधिक बॉन्ड होंगे:
[2,3]
[3,2]
[3,3]
...
आपका कार्य एक प्रोग्राम / फ़ंक्शन बनाना है, जो एक सकारात्मक पूर्णांक दिया गया हो n
, लंबाई में बिल्कुल कार्बन परमाणुओं के वैध स्ट्रेट-चेन एल्क * एनईएस की संख्या / आउटपुट देता है n
। यह OEIS A077998 है ।
निर्दिष्टीकरण / स्पष्टीकरण
1
लौटकर आपको सही ढंग से संभालना चाहिए1
।- Alk * nes को पसंद करते हैं
[1,2]
और[2,1]
इन्हें अलग माना जाता है। - आउटपुट है लंबाई एक दिया लंबाई के सभी संभव ALK * एनईएस की एक सूची की।
- आपको 0 को सही तरीके से हैंडल करने की आवश्यकता नहीं है।
परीक्षण के मामलों:
1 => 1
2 => 3
3 => 6
4 => 14
यह कोड गोल्फ है, इसलिए सबसे कम बाइट गिनती जीतती है!
<=4
सही, के लिए अभिव्यक्त किया जाता है ?