पृष्ठभूमि
मेरे पास समान आकार के वर्ग-आकार के बक्से का एक गुच्छा है, और चूंकि मैं एक साफ-सुथरा व्यक्ति हूं, इसलिए मैं उन सभी को एक वर्ग गठन में व्यवस्थित करना चाहता हूं। हालांकि, उनकी संख्या जरूरी नहीं कि एक पूर्ण वर्ग है, इसलिए मुझे वर्ग आकार का अनुमान लगाना पड़ सकता है। मैं चाहता हूं कि आप मुझे सबसे सौंदर्यवादी मनभावन व्यवस्था - प्रोग्रामिक रूप से, निश्चित रूप से मिल जाए।
इनपुट
आपका इनपुट एक एकल धनात्मक पूर्णांक है k
, जो बॉक्स की संख्या का प्रतिनिधित्व करता है।
उत्पादन
आपका कार्यक्रम दो सकारात्मक पूर्णांक का चयन करेगा m, n
जो m*(n-1) < k ≤ m*n
धारण करता है। वे बड़े वर्ग जैसी आकृति की चौड़ाई और ऊँचाई का प्रतिनिधित्व करते हैं जो हम व्यवस्थित कर रहे हैं। चूंकि हम सौंदर्य की दृष्टि से मनभावन आकृतियों की तलाश कर रहे हैं, मात्रा कम से कम होगी, ताकि आकार एक वर्ग के करीब हो, और इसका क्षेत्रफल करीब हो । यदि जोड़ी के लिए अभी भी कई उम्मीदवार हैं, तो उस जगह को चुनें जहां चौड़ाई अधिकतम है।(m - n)2 + (m*n - k)2
k
(m, n)
m
अब, आपका वास्तविक आउटपुट संख्या और नहीं होगा । इसके बजाय, आप एक बॉक्स का प्रतिनिधित्व करने के लिए चरित्र का उपयोग करके, बक्से की व्यवस्था को प्रिंट करेंगे । विशेष रूप से, आप पंक्तियों को मुद्रित करेंगे , जिनमें से प्रत्येक में वर्ण होते हैं , और फिर वर्णों में से एक पंक्ति । ध्यान दें कि आउटपुट में ठीक अक्षर हैं ।m
n
#
n-1
m
#
k - m*(n-1)
#
k
#
नियम और स्कोरिंग
आउटपुट में कोई भी अग्रणी या अनुगामी व्हाट्सएप नहीं होगा, सिवाय इसके कि अंतिम पंक्ति को अनुगामी स्थानों के साथ गद्देदार बनाया जा सकता है m
, यदि वांछित हो। एक अनुगामी न्यूलाइन हो सकती है, लेकिन कोई पूर्ववर्ती न्यूलाइन्स नहीं। यदि आप चाहें तो किसी भी मुद्रण योग्य ASCII चरित्र का उपयोग कर सकते हैं #
।
आप एक पूरा कार्यक्रम लिख सकते हैं, या एक फ़ंक्शन से एक स्ट्रिंग वापस कर सकते हैं। सबसे कम बाइट गिनती जीतता है, और मानक खामियों को रोक दिया जाता है।
परीक्षण के मामलों
यहां कुछ इनपुट मानों के लिए सही आउटपुट दिए गए हैं।
1
#
2
##
3
##
#
4
##
##
8
###
###
##
13
#####
#####
###
17
######
######
#####
18
#####
#####
#####
###
20
#####
#####
#####
#####
21
######
######
######
###
22
######
######
######
####
23
#####
#####
#####
#####
###