नकदी की कमी के कारण, आपने डोनट शॉप ™ के लिए डोनट्स बनाने के लिए साइन अप किया है, जो दुनिया की सबसे बड़ी डिजिटल डोनट कंपनी है, ज्यादातर इसलिए कि वे डोनट के हर आकार की कल्पना करते हैं।
अब, यह देखते हुए कि आजकल ट्रेडिंग मानक बहुत कठिन हैं, आपको इन डोनट्स को बनाने के लिए यथासंभव कम से कम एक कोड लिखना होगा ताकि जो सोर्स कोड उन्हें बनाया गया है उसे पैकेट के बाहर रखा जा सके।
चुनौती
4 आदानों को देखते हुए, बाहरी रिंग की त्रिज्या, आंतरिक रिंग की त्रिज्या, संभव स्प्रिंकल्स और एक सेल के होने की संभावना है, उन स्प्रिंकल में कवर एक डोनट आउटपुट करता है जिसमें सही आंतरिक और बाहरी त्रिज्या होती है।
- यह इनपुट लिया जा सकता है कि आप कैसे चाहते हैं (किसी फ़ंक्शन, स्टडिन, प्रोग्राम आर्गुमेंट्स के तर्क) और किसी भी क्रम में।
- स्प्रिंकल्स को 1 कैरेक्टर प्रति स्प्रिंकल टाइप के रूप में दिया जाएगा
^+*-के रूप में छिड़क इनपुट 4 sprinkles की एक सूची होगा,^,+,*,-- एक छिड़क का मौका 0 और 1. जैसे जो चल बिन्दु मान के रूप में दर्ज किया जाएगा:
0.1,0.23
- आपको आउटपुट को stdout या समतुल्य प्रिंट करना होगा।
- स्प्रिंट डोनट के किनारों पर नहीं हो सकता।
- प्रत्येक प्रकार के छिड़काव में प्रत्येक कोशिका पर होने की समान रूप से संभावना होनी चाहिए।
- रेडी 1-सेल यूनिट में दिए गए हैं।
- यदि आंतरिक त्रिज्या 0 या बाहरी त्रिज्या के बराबर है, तो डोनट के पास कोई अंगूठी नहीं है।
- दोनों त्रिज्या गैर-नकारात्मक पूर्णांक होंगे।
- डोनट के आंतरिक और बाहरी किनारों को हैश (
#) का उपयोग करके दिखाया जाना चाहिए यह देखने के लिए एक परीक्षण किया जाता है कि कोई बिंदु एक वृत्त में है, जो एक त्रिज्या है और वृत्त का केंद्र है:
(x-center)**2+(y-center)**2 < radius**2
आउटपुट के साथ उदाहरण इनपुट
(बाहरी त्रिज्या, आंतरिक त्रिज्या, छिड़काव, छिड़काव की संभावना)
10, 4, "^ + * -", 0.1
######### # # ## ++ * *## # # # ^^ - * # # ##### ^ # #+ # # # # # #- # # # # * # # # #+ # # # # # #^ +# # # # # # # # * ##### # # + - # # ^ # ## ^ + ## # ^ # #########5, 2, ": ^ + *", 0.9
##### #^^+ ^# #**### # #:# #^# #^# #*# #:# #*# #:+###* # # *:^:# #####
यह कोड गोल्फ है, बाइट्स जीत में सबसे छोटा जवाब
10, 4और 5, 2बहुत अलग हैं। मैं उत्तर पर एक टिप्पणी छोड़ने जा रहा था, लेकिन मुझे एहसास हुआ कि मुझे वास्तव में समझ नहीं आया कि आउटपुट को किसी भी आयाम के लिए कैसा दिखना चाहिए, लेकिन उदाहरणों में। यदि आप अपने मूल विचार को उत्तर से आउटपुट से बदलना चाहते हैं, तो यह आपके ऊपर है, लेकिन चुनौती को स्पष्ट रूप से परिभाषित करना चाहिए कि सीमाओं को कैसे आकर्षित किया जाए।