विवरण
पहले इन नंबरों के विषय में कुछ अन्य चुनौतियाँ थीं, और मुझे उम्मीद है कि यह उनमें से एक नहीं है।
N वें त्रिकोणीय संख्या अप करने के लिए सभी प्राकृतिक संख्याओं का योग के बराबर होती है n , सरल सामान। जो लोग खुद को आगे सूचित करना चाहते हैं, उनके लिए एक विकिपीडिया पृष्ठ और OEIS में एक प्रविष्टि है ।
अब, गॉस ने पाया कि प्रत्येक प्राकृतिक संख्या को तीन त्रिकोणीय संख्याओं के योग के रूप में व्यक्त किया जा सकता है (इनमें शामिल हैं 0
), और एक से अधिक संख्या में एक बार होना ठीक है, जैसे 0 + 1 + 1 = 2
।
चुनौती
आपका कार्य एक प्रोग्राम या फ़ंक्शन लिखना है, जिसे एक प्राकृतिक संख्या (सहित 0
) दिया गया है, तीन त्रिकोणीय संख्याओं को प्रिंट करता है जो तर्क पर निर्भर करता है। आप रिक्त स्थान द्वारा अलग किए गए नंबरों को एक सरणी के रूप में, या किसी अन्य विधि द्वारा पसंद कर सकते हैं। हालाँकि, किसी भी निर्मित फ़ंक्शंस का उपयोग करने के लिए सीधे तौर पर एक सरणी, एक सीमा या किसी अन्य प्रकार के संग्रह को प्राप्त करने की मनाही है जिसमें त्रिकोणीय संख्याओं की सूची होती है (उदाहरण के लिए एक एकल परमाणु जो रेंज उत्पन्न करता है)।
परीक्षण के मामलों
9 -> 6 + 3 + 0 or 3 + 3 + 3
12 -> 6 + 6 + 0 or 6 + 3 + 3 or 10 + 1 + 1
13 -> 6 + 6 + 1
1 -> 1 + 0 + 0
0 -> 0 + 0 + 0
नोट: यदि एक से अधिक संभावित संयोजन हैं, तो आप किसी भी या सभी को प्रिंट कर सकते हैं, लेकिन आपको केवल एक बार किसी भी संयोजन को प्रिंट करना होगा, जो अन्य संयोजनों को पुन: व्यवस्थित करने का एक परिणाम है। मैं वास्तव में एक कोशिश-यह लिंक और एक स्पष्टीकरण की सराहना करता हूं, मैं वास्तव में यह देखना पसंद करता हूं कि आप समस्या को कैसे हल करते हैं;)
यह कोड-गोल्फ है , इसलिए मानक कमियां लागू होती हैं। बाइट्स जीतने में सबसे छोटा जवाब हो सकता है!
a
हमेशा त्रिकोणीय संख्या नहीं होगी
n
और पहले की एक सूची प्रदान n
त्रिकोण संख्या रहे हैं की अनुमति दी? ऐसा लगता है कि कुछ विशिष्ट भाषा के खिलाफ लक्षित है, हालांकि मुझे नहीं पता कि कौन सा।