इस चुनौती में, आपको चार अलग-अलग लेकिन कुछ संबंधित कार्य मिलेंगे जिन्हें एक विशिष्ट तरीके से हल किया जाना चाहिए। सबसे पहले, मैं कार्यों की व्याख्या करूँगा, फिर एक स्पष्टीकरण का अनुसरण करता है कि आपको इसे कैसे हल करना चाहिए।
सभी चार कार्यों के लिए आपका कोड इनपुट के रूप में दो सकारात्मक पूर्णांक लेना चाहिए:, n,m
जहां n<m
। सभी कार्यों को एक ही भाषा में हल किया जाना चाहिए। मेट्रिसेस का ओरिएंटेशन वैकल्पिक है (n-by-m की व्याख्या "एन रो, एम कॉलम", या "एन कॉलम, एम रो") के रूप में की जा सकती है।
कार्य 1:
तत्वों से मिलकर एक वेक्टर / सूची बनाएं (और आउटपुट / प्रिंट करें) n, n+1 ... m-1, m
:। इसलिए, n=4, m=9
आपको आउटपुट चाहिए 4,5,6,7,8,9
:।
कार्य 2:
एक मैट्रिक्स / सरणी / सूचियों की सूची (या आउटपुट / प्रिंट) बनाएं (या समतुल्य) इस तरह देख रहे हैं:
n, n+1, ... m-1, m
n+1, n+2, ... m-1, m+1
...
n+m, n+m+1, ... 2*m-1, 2*m
आपके लिए n=4, m=9
आउटपुट होना चाहिए:
4, 5, 6, 7, 8, 9
5, 6, 7, 8, 9, 10
...
13, 14, 15, 16, 17, 18
कार्य 3:
बनाएँ (और आउटपुट / प्रिंट) एक एन-बाय-एम गुणा तालिका (किसी भी उपयुक्त प्रारूप पर)। इसके लिए उदाहरण n=4, m=9
:
1 2 3 4
2 4 6 8
3 6 9 12
4 8 12 16
5 10 15 20
6 12 18 24
7 14 21 28
8 16 24 32
9 18 27 36
कार्य 4:
डुप्लिकेट मानों को रखते हुए, कार्य 3 से गुणन तालिका में तत्वों से मिलकर वेक्टर / सूची को प्रिंट करें, आरोही क्रम में क्रमबद्ध करें। इसके लिए n=4, m=9
, आपको आउटपुट: चाहिए 1, 2, 2, 3, 3, 4, 4, 4, 5, 6, 6, 6, 7, 8, 8, 8, 9, 9, 10, 12, 12, 12, 14, 15, 16, 16, 18, 18, 20, 21, 24, 24, 27, 28, 32, 36
।
चुनौती:
अब, उपरोक्त सभी कार्य काफी तुच्छ हैं। यहां वास्तविक चुनौती यह है कि टास्क 2 के लिए कोड को टास्क 1 के लिए कोड से शुरू होना चाहिए, टास्क 3 के लिए कोड को टास्क 2 के लिए कोड से शुरू होना चाहिए और टास्क 4 के लिए कोड से टास्क 3 के लिए शुरू करना होगा।
इसे और अधिक स्पष्ट करने के लिए:
मान लीजिए कि टास्क 1 का कोड है (ऑक्टेव में काम करता है):
@(n,m)(n:m)
तब टास्क 2 के लिए आपका कोड (ऑक्टेव में काम करता है) हो सकता है:
@(n,m)(n:m)+(0:m)'
टास्क 3 के लिए कोड होना चाहिए (ऑक्टेव में काम नहीं करता):
@(n,m)(n:m)+(0:m)'"Code_for_task_3"
और अंत में, टास्क 4 के लिए कोड होना चाहिए (ऑक्टेव में काम नहीं करता है):
@(n,m)(n:m)+(0:m)'"Code_for_task_3""Code_for_task_4"
यह कोड-गोल्फ है , इसलिए प्रत्येक भाषा में टास्क 4 के लिए सबसे छोटे कोड के साथ सबमिशन जीत जाता है। हमेशा की तरह: स्पष्टीकरण अत्यधिक प्रोत्साहित किया जाता है।
0<n<m
या 0<=n<m
?
>2;
ताकि पिछले कार्य के कोड को अनिवार्य रूप से नो-ऑप प्रदान किया जाए?