पाँच सरल कार्यक्रमों के बीच अक्षरों को दोहराने से बचें


12

आपको चुनौती है कि निम्नलिखित 5 कार्यों के लिए 5 अलग-अलग पूर्ण कार्यक्रम लिखें:

  1. छाप Hello, World!

  2. एसटीडीआईएन के साथ एक इनपुट को देखते हुए, फैक्टोरियल को आउटपुट करते हुए, आप मान सकते हैं कि इनपुट एक पूर्णांक है = = 0

  3. पूर्णांक N को देखते हुए, primes <= N के योग की गणना करें

  4. एसटीडीआईएन के साथ एक इनपुट को देखते हुए, इनपुट में उपयोग किए गए अक्षरों को आउटपुट करें। उदाहरण के लिए: इनपुट है Hello world, आपको आउटपुट की आवश्यकता है helowrd। ध्यान दें कि आउटपुट लोअरकेस में है। आप मान सकते हैं कि इनपुट हमेशा व्हाट्सएप के साथ अल्फ़ाबेटिक है, व्हाट्सएप को अनदेखा किया जाता है।

  5. निम्न हीरे को इस तरह से आउटपुट करें:

       *
      ***
     *****
    *******
     *****
      ***
       *
    

ये सभी चुनौतियां शायद बहुत आसान हैं, लेकिन एक पकड़ है। आपके द्वारा उपयोग किया जाने वाला प्रत्येक अक्षर अन्य कार्यक्रमों में फिर से उपयोग नहीं किया जा सकता है । यह निषिद्ध नहीं है, लेकिन आपको +8 बाइट्स का जुर्माना देगा । उदाहरण के लिए, यदि यह आपका कार्य पहला कार्य है:

print("Hello, World!");

तो फिर आप निम्नलिखित पत्र (अपरकेस या लोअरकेस रूप में) का उपयोग नहीं कर सकते हैं: p, r, i, n, t, h, e, l, o, w, dअन्य कार्यक्रमों में। यदि आपको उनका उपयोग करना है, तो आप प्रत्येक पत्र को 8 बाइट्स के लिए 'खरीद' सकते हैं। इसलिए यदि आप पत्र का उपयोग करना चाहते हैंl किसी अन्य प्रोग्राम में फिर , तो आपको 8 बाइट का जुर्माना मिलता है। आपके द्वारा जुर्माने का भुगतान किए जाने के बाद, आप प्रत्येक पत्र का उपयोग इस कार्यक्रम में जितना चाहें कर सकते हैं। अन्य पात्र मायने नहीं रखते। साथ ही, सभी 5 कार्यक्रम एक ही भाषा में होने चाहिए।

यह , इसलिए कम से कम बाइट्स जीतता है!


3
यह उन चुनौतियों पर थोड़ा अलग स्पिन है जो हमारे पास पहले से हैं, लेकिन मेरी आंखों में मल्टी-डुबकी नहीं होने के लिए यह अलग नहीं है।
Mego

3
@Mego मैं प्रतिबंध के बिना इसे मल्टी-डुप्लिकेट के रूप में बंद करने के लिए मतदान करूंगा, लेकिन प्रतिबंध इसे एक नया गेम बनाता है।
ट्राइकोप्लाक्स

1
यदि आप 3 कार्यक्रमों में दिए गए पत्र का उपयोग करते हैं, तो क्या आप दो बार (16 बाइट्स) 8 बाइट पेनल्टी का भुगतान करते हैं?
ट्राइकोप्लाक्स

1
@trichoplax, हाँ आप 16 बाइट्स अदा करते हैं
अदनान

1
@trichoplax शायद ही। मौजूदा समस्याओं का हल अभी भी प्रतिस्पर्धी होगा। यहां शीर्ष समाधान केवल दंडित किए गए उच्चतर प्रश्नों के समाधान के साथ दंडित किए गए प्रश्नों का समाधान होगा।
Mego

जवाबों:


10

सीजेएम, 73 बाइट्स

"Obkkh+'Phukc&"7f^
q~m!
ri){'j3+_3++~},:+
lS-el_&
4{_' *4@-Y*('**+}%_1>W%\+N*

प्रत्येक पंक्ति एक पूर्ण कार्यक्रम है। उन्हें ऑनलाइन प्रयास करें: 1 | 2 | 3 | 4 |5

पत्र का नक्शा

 bc  f h  k   op    u       18
            m   q            4
        ij       r          17
    e      l      s          7
             n        w y   27

यदि आप चाहते हैं (और आपके प्रत्येक कार्यक्रम एक पंक्ति में फिट होते हैं), तो आप अपने स्वयं के सबमिशन के लिए एक पत्र नक्शा बनाने के लिए इस सीजेएम प्रोग्राम का उपयोग कर सकते हैं ।


इसका कारण यह है कि ऑसस्क्रिप्ट को इसके लिए नहीं बनाया गया था: आपका संपूर्ण प्रस्तुतिकरण मेरे कार्यक्रमों में से 2 से कम है। XD +1, अच्छा काम।
Addison Crump

4

पायथ, 90 बाइट्स

पहली कोशिश...

कार्य 1: 20 बाइट्स

+"Hello, "+C87"orld!

टास्क 2, 3 बाइट्स

.!Q

टास्क 3, 9 बाइट्स

sf}TPTSvz

टास्क 4, 6 + 8 = 14 बाइट्स

@G{rw0

टास्क 5, 44 बाइट्स

"   *
  ***
 *****
*******
 *****
  ***
   *

3

ऑसस्क्रिप्ट, 759 बाइट्स

मुझे पता था कि जब मैं शुरू करूंगी तो यह बहुत कुछ होने वाला था। ऊ

कार्य 1: 15 बाइट्स

"नमस्ते दुनिया!"

मुझे पता था कि यह इस बिंदु से बुरा होने वाला था।

कार्य 2: 64 + 8 * 4 = 96 बाइट्स

रन पर
ओ से 1 सेट करें
एक बार दोहराएँ
सेट ओ * को ओ
ए -1 को सेट करें
समाप्त
ओ
समाप्त

ओह गॉड।

टास्क 3: 170 + 8 * 13 = 274 बाइट्स

रन पर
0 से 0 सेट करें
झूठे को टी सेट करें
i से 2 से a तक दोहराएं
सच पर सेट करें
2 से i-1 तक c के साथ दोहराएं
अगर मैं mod c = 0 है तो t को गलत पर सेट करें
समाप्त
यदि t है तो o को o + i पर सेट करें
समाप्त
समाप्त

डेनिस ≠ आउटगोल्फ।

टास्क 4: 225 + 8 * 13 = 329

रन पर
"ओ" पर सेट करें
एक के आइटम में मैं के साथ दोहराएँ
i के पात्रों में c के साथ दोहराएं
यदि c तब o में नहीं है
यदि ASCII संख्या c <91 है तो
सेट ओ टू ओ & (ASCII कैरेक्टर ऑफ (ASCII नंबर ऑफ c + 32))
अन्य
o को o & c पर सेट करें
समाप्त
समाप्त
समाप्त
समाप्त
ओ
समाप्त

...

कार्य 5: 45 बाइट्स

"*
  ***
 *****
*******
 *****
  ***
   * "

तो हाँ। मुझे पता था कि मैं शुरू से ही हारने वाला था। लेकिन यह दिलचस्प था, मुझे यह जानने में दिलचस्पी होगी कि क्या कम पात्रों में ऐसा करने का कोई तरीका है। चरित्र नक्शा (डेनिस द्वारा प्रदान की गई):

   डे hlorw 15
a cdef hi lmnop rstu w 160
डी एनओपी rstu 57
abcdef hi lmnop rstu w 214
                            39
                             0

ऊपर की वर्ण गणना थोड़ी दूर है - नई सुर्खियों ने इसे मुद्दा बना दिया है, क्योंकि नए अंक बेशुमार थे।

नोट: सामान की तरह a's charactersया इस तरह का उपयोग नहीं करने का कारण यह है कि 'चरित्र का उपयोग ऑसस्क्रिप्ट कमांड लाइन से निष्पादित करते समय किया जाना है। अगर मैंने इस्तेमाल किया होता ', तो मुझे \'कुछ ऐसा ही इस्तेमाल करना होता, जिससे मुझे कुछ फायदा न होता। इसके अलावा, यह केवल "स्ट्रिंग कैप्चरर्स के रूप में पहचानता है , इसलिए मैं थोड़े खराब था। लेकिन वह मजेदार था।


1

NARS2000 APL, 144 बाइट्स (85 अक्षर)

टास्क 1, 21 बाइट्स (17 अक्षर)

⎕←"Hello, World!"

टास्क 2, 10 बाइट्स (4 अक्षर)

⎕←!⎕

टास्क 3, 22 बाइट्स (11 अक्षर)

⎕←+/¯2π⍳2π⎕

टास्क 4, 53 बाइट्स (29 अक्षर)

⎕←∪Q[26∣Q⍸⍞∩Q←⎕AV[97+⍳26]∪⎕A]

टास्क 5, 38 बाइट्स (24 अक्षर)

⎕←" *"[1+4<∘.+⍨(⍳3),⊖⍳4]

1
क्या वे वास्तव में पूर्ण कार्यक्रम हैं? मैं NARS2000 नहीं जानता (और यह मेरे प्लेटफॉर्म पर उपलब्ध नहीं है), लेकिन मुझे पता है कि सभी बोलियों को REPL के बाहर प्रिंट करने के लिए असाइन करने की आवश्यकता होती है ।
डेनिस

@ डेनिस सॉरी, भूल गया कि मैं REPL के अंदर फिजूल था।
ओबेरॉन

आपको हीरे के लिए अनुगामी स्थानों का उत्पादन करने की अनुमति नहीं है।
23

1

जेली , 46 बाइट्स (गैर-प्रतिस्पर्धात्मक)

“3ḅaė;œ»
Ɠ!
ÆRS
ɠQḲŒl
4Ḷ¤‘+¤ṖṚṭ×”*Fµ4Ḷṭ4ḶṚṖ¤F×⁶+⁸Y

इसे ऑनलाइन आज़माएं! (प्रत्येक स्निपेट कॉपी / पेस्ट करें)

जाहिरा तौर पर, प्रतिबंध ने गोल्फिंग को प्रतिबंधित नहीं किया :) केवल पिछले एक के लिए सुझाव, ज़ाहिर है, कृपया।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.