यह चुनौती इस शानदार एनिमेटेड आरेख से प्रेरित है (चैट में इसे पोस्ट करने के लिए दोष के लिए धन्यवाद)।
एक इनपुट को देखते हुए n
, इसके सभी प्रमुख कारकों को निर्दिष्ट के रूप में डॉट्स के नेस्टेड बहुभुज बनाएं।
उदाहरण के लिए, संख्या को देखते हुए 357 = 17x7x3
, आप एक त्रिभुज में 3 डॉट्स, एक हेपटागन में उन त्रिकोणों के 7 संस्करणों और 17-गॉन में उन हेप्टैगन के 17 संस्करणों की व्यवस्था करते हैं। संक्षेप में, नेस्टेड बहुभुज बाहर की तरफ सबसे बड़े प्राइम फैक्टर से अंदर की तरफ सबसे छोटे होते हैं। इसके लिए 357
, आपके उत्तर को इस तरह (रंग के साथ या बिना) थोड़ा सा देखना चाहिए:
प्रत्येक प्राइम के प्रत्येक बहुभुज >= 3
को आरेख के चारों ओर घुमाया नहीं जाना चाहिए।
एकमात्र अपवाद प्रमुख है 2
, विशेष रूप से विषम शक्तियों के लिए 2
। जैसा कि आप 376 = 47x2x2x2
नीचे दिए गए उदाहरण में देख सकते हैं , 8
एस रोटेट और एस की एकल लाइनें नहीं हैं 2
, लेकिन 4
एक वर्ग में एस के लिए ऊर्ध्वाधर ढेर हैं । यहां तक कि 2
चौकों में व्यवस्थित होने वाली शक्तियों को भी इस तरह से घुमाने की आवश्यकता नहीं है।
वास्तव में, 448 = 7x2x2x2x2x2x2
एक आरेख होता है जो 64
एस के हेप्टागन की तरह दिखता है , और 64
इसे वर्गों के वर्ग में व्यवस्थित किया जाता है, लेकिन रोटेशन के बिना।
दो और उदाहरण हैं 440 = 11x5x2x2x2
और 432 = 3x3x3x2x2x2x2
। हम देखते हैं कि 440
2 की विषम शक्ति के साथ 8
, एस घुमाया गया है , लेकिन 432
एक भी शक्ति के साथ 2
इसका 16
एस घूर्णन नहीं करता है ।
और अंत में, यहां एक न्यूनतम उदाहरण है, 10 = 5x2
रंग के बिना जो मैंने पायथन और इसके turtle
मॉड्यूल के साथ मजाक किया था ।
चुनौती
- एक इनपुट को देखते हुए
n
जहां1 <= n <= 10000
, उत्पादन अपने नेस्टेड कारक बहुभुज की एक छवि। - नियम हैं:
- छवि बाहर से अंदर की सबसे छोटी प्राइम फैक्टर पर एक बहुभुज (सबसे बड़ा प्रमुख कारक) पक्षों के साथ डॉट्स के नेस्टेड बहुभुज से बना है।
- कारक 2 के लिए, 2 की शक्तियों को एक रेखा के रूप में, फिर एक वर्ग, फिर वर्गों की एक पंक्ति, और इसी तरह स्टैक करना चाहिए। यहां तक कि 2 की शक्तियों को भी घुमाया नहीं जाना चाहिए। 2 की विषम शक्तियों को उनके संबंधित बहुभुजों के चारों ओर घुमाया जाना चाहिए, और उन्हें रोटेशन से पहले लंबवत रूप से स्टैक किया जाना चाहिए।
- आप अपनी पसंद के अनुसार छवि को उन्मुख कर सकते हैं (हालांकि मैं पसंद करता हूं), लेकिन प्रत्येक नेस्टेड बहुभुज को 2 की विषम शक्तियों के एकमात्र अपवाद के साथ किसी भी अन्य बहुभुज के समान दिशा का सामना करना चाहिए।
- आपके पास छवि आकार और डॉट आकार के लिए दो विकल्प हैं:
- छवि का आकार स्थिर है और डॉट का आकार
n
(एनीमेशन में) बढ़ने के साथ घटता जाता है । - डॉट का आकार स्थिर है और छवि का आकार बढ़ने पर
n
बढ़ता है।
- छवि का आकार स्थिर है और डॉट का आकार
- पॉलीगन्स की पहली तीन परतों को पड़ोसी पॉलीगोन (यानी स्पर्श नहीं) से अलग किया जाना चाहिए, लेकिन छवियों के आकार पर और उसके आसपास विचार करना
n=10000
, यह ठीक है अगर परतें छूने के बाद शुरू होती हैं। अगर वे ऐसा नहीं करते तो मैं इसे पसंद करूंगा, लेकिन स्टाॅक एक्सचेंज के लिए अपलोड की जा सकने वाली छवि पर फिट होना अपरिहार्य हो सकता है। - रंग वैकल्पिक है।
- डॉट्स का आकार आपके ऊपर है। यदि वर्ग आपकी भाषा के लिए बेहतर हैं, तो उन का उपयोग करें।
- कोई बोनस नहीं है, लेकिन मैं किसी को चेतन देखना चाहता हूं और आरेखों को मूल पोस्ट में रंग देना चाहता हूं।
इस सवाल को लिखने में उनकी मदद के लिए कॉनर ओ'ब्रायन, ईस्टरलीर्क, मार्टिन एंडर, क्रिक्टी लिथोस, मेगो, डीजे मैकमेहेम और एल'एंडिया स्ट्रैटन का धन्यवाद।
यह कोड गोल्फ, इसलिए सबसे छोटा कोड जीतता है। गुड लक और गुड गोल्फिंग!
n = n //= i
होना चाहिएn//= i
?