इसी तरह के आंकड़े
दो आयतें समान हैं यदि उनके पक्षों के अनुपात समान हैं।
इन दो आयतों पर विचार करें; एक आयत 5 लाइनें लंबी और 11 चौड़ी चौड़ी:
===========
===========
===========
===========
===========
और एक आयत 10 लाइनें लंबी और 22 चौड़ी चौड़ी:
======================
======================
======================
======================
======================
======================
======================
======================
======================
======================
ये आकृतियाँ समान हैं क्योंकि इनके पक्षों के अनुपात समान हैं। यह औपचारिक रूप से रखने के लिए (के साथ कम से कम पक्ष जा रहा है और लंबाई की ओर जा रहा है):
आप भी कर सकते हैं:
चुनौती
एक प्रोग्राम या फ़ंक्शन लिखें जो "मुख्य" आयत और कुछ "अन्य" आयतों और प्रिंटों को लेता है जो "दूसरों" के "मुख्य" के समान हैं।
इनपुट
एक आकृति और आकृतियों की सूची। प्रत्येक आकृति में 2 गैर-शून्य सकारात्मक पूर्णांक होते हैं, जो आयत की चौड़ाई और ऊंचाई को दर्शाते हैं। उदाहरण के लिए, यह:
(4,2), (3,9)
दो आयतों को दर्शाता है, एक 4x2 और एक 3x9। इनपुट का सटीक प्रारूप आपकी इच्छा के अनुसार हो सकता है।
उत्पादन
"अन्य" आकृतियों के सूचक जो "मुख्य" के समान हैं। आप चुन सकते हैं कि सूचकांक 0- या 1-आधारित हैं, साथ ही आउटपुट का सटीक प्रारूप और आदेश भी।
नमूना कार्यक्रम
पायथन में:
main = eval(raw_input()) # The main rectangle.
rects = eval(raw_input()) # The list of rectangles.
similar = set()
for i, rect in enumerate(rects):
if max(main)*min(rect) == min(main)*max(rect): # Cross-multiply
# They are similar.
similar.add(i)
print similar
नमूना इनपुट और आउटपुट
इनपुट:
(1, 2)
[(1, 2), (2, 4)]
आउटपुट:
set([0, 1])
इनपुट:
(1, 2)
[(1, 9), (2, 5), (16, 8)]
आउटपुट:
set([2])
जीतना
यह कोड-गोल्फ है, इसलिए सबसे कम सबमिशन जीतता है।
टिप्पणियाँ
- यह कहे बिना जाना चाहिए, लेकिन मानक खामियों पर प्रतिबंध लगा दिया जाता है ।
- समान आंकड़ों का पता लगाने के लिए किसी भी निर्माण का उपयोग नहीं किया जा सकता है। (अगर मुझे पता नहीं है कि मौजूद है, लेकिन मुझे आश्चर्य नहीं होगा!)
[(1,2), (2,4), (1,9), (2,5), (16,8)]
, केवल [0,1,4]
और [1,2,5]
अनुमति है, या हम भी उत्पादन [1,1,0,0,1]
कर सकते हैं या [(1,2), (2,4), (16,8)]
?
[1.0 2.0]
एक स्वीकार्य इनपुट प्रारूप हो सकता है?