पलिंड्रोम हैलो, विश्व


29

आपका काम एक प्रोग्राम बनाना है जो "ग्रीटिंग्स, प्लैनेट!" को प्रिंट करता है। कंसोल को बिल्कुल। काफी सरल लगता है, है ना? खैर, यहाँ चाल है। कोड एक पैलिंड्रोम होना चाहिए, जिसका अर्थ है कि यह दाएं से बाएं ओर से बाएं से दाएं के समान है। मानक खामियों की अनुमति नहीं है


यह "हैलो वर्ल्ड" प्रतीत नहीं होता है।
निकले आउटगॉल्फ को एरिक

4
@ ΥριΈνσταντόποςλο the यह सभी इरादों और उद्देश्यों के लिए हैलो वर्ल्ड के समान है। लक्ष्य के रूप में अच्छी तरह से हैलो वर्ल्ड कार्यक्रमों में विराम चिह्न के साथ दो शब्दों से मिलकर एक छोटी स्ट्रिंग मुद्रित करना है। हैलो वर्ल्ड को प्रिंट करने वाले बिल्ट-इन के अलावा, समाधान बिल्कुल वास्तविक स्ट्रिंग के अलावा समान (वास्तविक स्ट्रिंग के अलावा) समान होगा। (और मुझे लगता है कि "ग्रीटिंग्स, प्लैनेट!" वाक्यांश विशेष रूप से बिल्ट-इन बेकार बनाने के लिए चुना गया था।)
मार्टिन एंडर

1
@ MartinBüttner मुझे लगता है कि Hello, world!और Hello World!केवल हैलो-वर्ल्ड प्रोग्राम के लिए अनुमत आउटपुट हैं ।
एरिक द आउटलिफ़र

जवाबों:



16

टीआई-बेसिक, 67 बाइट्स

"!tenalP ,sgniteerG"
"Greetings, Planet!"

यह काम करता है क्योंकि एक कार्यक्रम की अंतिम पंक्ति स्क्रीन पर प्रदर्शित होती है, जबकि पहले स्ट्रिंग को अनिवार्य रूप से एक टिप्पणी के रूप में माना जाता है।

प्रत्येक निचले अक्षर को 2 बाइट्स के रूप में संग्रहीत किया जाता है, और शेष अक्षर 1 बाइट होते हैं। यदि मैं नियमों को मोड़ने और सभी कैप्स में प्रिंट करने के लिए था, तो यह 41 बाइट्स होगा :

"!TENALP ,SGNITEERG"
"GREETINGS, PLANET!"

आप उपयोग कर सकते हैं eऔर i(संख्या) बाइट गिनती आगे कम करने के लिए?
एडिसन क्रम्प

1
@VTCAKAVSMoACE मैंने उस पर विचार किया, लेकिन उन्होंने इटैलिकाइज़ किया, इसलिए वे थोड़ा अलग दिखते हैं।
निन्जाबियरनौक

यह स्पष्ट करने के लिए कि पहली पंक्ति कोई टिप्पणी नहीं है, यह उत्तर चर में संग्रहीत हो जाती है।
जूलियन लाचनीट

12

मुझे पता है कि यह थोड़ा देर से (और थोड़ा सा फ़िदा) है, लेकिन ...

> <> (मछली), 47 45 47 बाइट्स (वास्तव में 43 45, अगर मैं यादृच्छिक दिशा का उपयोग नहीं कर रहा था)

x"!tenalP ,sgniteerG"!|o|!"Greetings, Planet!"x

ये उत्तर हर दूसरे से थोड़ा अलग हैं; कोड को निष्पादित करने की दिशा के लिए एक मौका है ।

इसलिए, "प्रिंटिंग टू कंसोल" के द्वारा, मैंने मान लिया कि आपका मतलब स्ट्रॉडआउट से है। यह एक त्रुटि फेंकता है; त्रुटि को stderr पर फेंक दिया जाता है, स्ट्रिंग को stdout में प्रिंट किया जाता है।

यह साबित करने के लिए कि यह दोनों तरीके से काम करता है, मैंने "यादृच्छिक दिशा" निर्देशक, "x" का उपयोग किया। मछली एक द्वि-आयामी भाषा है, इसलिए, कोई फर्क नहीं पड़ता कि निर्देशक बिंदुओं को किस तरह से, कोड अभी भी (अंततः) निष्पादित किया जाएगा।

यह मानते हुए कि पहले निर्देशक दाईं ओर इंगित करता है, वर्णों को "स्टैक" पर उल्टे क्रम में लोड किया जाता है, फिर रिवर्स (या सामान्य पाठ) के पीछे प्रिंट किया जाता है।

यह मानते हुए कि दोनों निर्देशक बाईं ओर इंगित करते हैं, वर्ण एक बार फिर से, रिवर्स ऑर्डर में "स्टैक" पर लोड किए जाते हैं (क्योंकि कोड इसे पीछे की ओर लोड करता है, दिशा बाईं ओर है), फिर रिवर्स के रिवर्स (या सामान्य पाठ) मुद्रित किया जाता है।

यदि यादृच्छिक निदेशक ऊपर या नीचे इंगित करता है, तो यह कोई मायने नहीं रखेगा - मछली कोड के अंडरसाइड या ओवरसाइड को लूप करना जानती है, जो रैंडमाइज़र की ओर इशारा करती है। इस तरह, यह रैंडमाइजर्स के साथ लूप जारी रखेगा, जब तक कि यह कोड को निष्पादित करने की दिशा में आवक न हो जाए।

!|o|!बिट निम्नलिखित, दोनों पक्षों से करता है:

  • !अगले निर्देश को छोड़ देता है (हमेशा छोड़ देगा |)

  • |एक परावर्तक है; यह भीतर की ओर इशारा करता है o

  • o एक चरित्र के रूप में कंसोल के वर्तमान आइटम को आउटपुट करता है और इसे स्टैक से निकालता है।

तो, अनिवार्य रूप से, यह "एक साथ दबाए गए बाथरूम में दो दर्पण" चाल है, जहां मैं अब तक उत्पादन नहीं कर सकता।

अब एक बिल्ली इमोजी का उपयोग कर। >o<आउटपुट को आवक को पुनर्निर्देशित करता है, फिर भी त्रुटि को फेंक देता है, लेकिन मैं स्किप को प्रतिबिंब में उपयोग नहीं करने के साथ दूर हो सकता हूं।

यह पता चला कि मैं पहली बार सही था - दूसरा प्रयास पैलंड्रोमिक नहीं था , लेकिन यह चिंतनशील था ।

मछली (स्टादर के लिए मुद्रण के बिना), 64 बाइट्स (ईडब्ल्यू)

x"!tenalP ,sgniteerG"!;oooooooooooooooooo;!"Greetings, Planet!"x

यह दोस्त थोड़ी देर का है।

इसका एक ही यादृच्छिक तीर फ़ंक्शन है (यह साबित करने के लिए कि यह दोनों तरीकों से काम करता है) और stderr पर प्रिंट नहीं करता है।

यहाँ अंतर स्पष्ट है; मैं सचमुच स्टैक में प्रत्येक आइटम को प्रिंट करता हूं, फिर इसके साथ निष्पादन समाप्त करता हूं ;

!;निष्पादन तुरंत समाप्त नहीं करता है, के रूप में !अगले आइटम (अंत कार्यकारी, इस मामले में) छोड़ने और जब तक यह दूसरी तरफ है, जो के रूप में कार्य करता है जारी है ;!, जिसमें यह निष्पादन होने से पहले समाप्त कुछ भी छोड़ देता है।

यह छोटे उत्तर के समान यादृच्छिक दिशा पैटर्न का अनुसरण करता है।


मुझे लगता है कि आपको मछली के खोल
आरोन

@ ऐरॉन आमतौर पर यह माना जाता है कि यहां मछली का मतलब है> <>, लेकिन मैंने पहले भी उस समस्या का सामना किया है - मैं इसे जोड़ूंगा। धन्यवाद!
Addison Crump

जैसा कि मुझे लगता है, यह अप्रत्याशित है कि फुल कोड पूर्ण हो जाएगा या नहीं। क्या होगा यदि प्रोग्राम काउंटर दो यादृच्छिक दिशा निर्देशों के बीच फंस गया है, या बस यादृच्छिक दिशा निर्देशों में से एक पर अटक गया है, उदाहरण के लिए, यह नीचे जाता है, नीचे तक पहुंचता है, उस निर्देश पर वापस आता है और सभी को शुरू करता है?

@GLASSIC कार्यक्रम केवल एक बार आउटपुट करेगा, और पूरे कोड को कभी भी निष्पादित नहीं किया जाएगा।
Addison Crump

11

बबलगम , 38 बाइट्स

0000000: 73 2f 4a 4d 2d c9 cc 4b 2f d6 51 08 c8 49 cc 4b 2d 51 04  s/JM-..K/.Q..I.K-Q.
0000013: 04 51 2d 4b cc 49 c8 08 51 d6 2f 4b cc c9 2d 4d 4a 2f 73  .Q-K.I..Q./K..-MJ/s

10

मैकरोनी 0.0.2 , 52 बाइट्स

print "Greetings, Planet!""!tenalP ,sgniteerG" tnirp

एक समाधान जो टिप्पणियों का उपयोग नहीं करता है। (ज्यादातर क्योंकि मैकरोनी की टिप्पणी नहीं है ...)


15
मैकरोनी की टिप्पणी नहीं है ? ಠ_ 18:
एलेक्स ए।

8

CJam, 41 बाइट्स

तीन बाइट्स के लिए डेनिस के लिए धन्यवाद।

"!tenalP ,sgniteerG";"Greetings, Planet!"

2
आपको स्ट्रिंग्स को फ्लिप करने की आवश्यकता है। अभी आप सही आउटपुट पॉप कर रहे हैं और एक उल्टा प्रिंट कर रहे हैं।
NinjaBearMonkey

@NinjaBearMonkey वूप्स। फिक्सिंग।
The_Basset_Hound

गोल्फस्क्रिप्ट में भी काम करता है।
इल्मरी करोनें


6

जावास्क्रिप्ट, 56 बाइट्स

यह किसी भी ब्राउज़र में चल सकता है।

alert("Greetings, Planet!")//)"!tenalP ,sgniteerG"(trela

के print/tnirpसाथ प्रतिस्थापित alert/trela, यह अन्य इंजनों में भी काम करता है।
ETHproductions 19

@ETHproductions विश्वास नहीं कर सकता कि मैंने ऐसा नहीं सोचा था, धन्यवाद!
डाउनगेट


@ आप अपने आप को सही मानते हैं, alert`Greetings, Planet!`//`!tenalP ,sgniteerG`trela52 बाइट्स है
A

5

गोल्फस्क्रिप्ट, 41 बाइट्स

"Greetings, Planet!":"!tenalP ,sgniteerG"

देखो मा, नो-ऑप! इसे ऑनलाइन वेब गोल्फस्क्रिप्ट में आज़माएं

स्रोत कोड की दूसरी छमाही स्ट्रिंग को दूसरी स्ट्रिंग में संग्रहीत करती है।

"Greetings, Planet!":"!tenalP ,sgniteerG"
"!tenalP ,sgniteerG"

छपता था

Greetings, Planet!Greetings, Planet!

5

सी ++, 129 बाइट्स

बिना टिप्पणियों के ऐसा करने की कोशिश ने मुझे एक गहरे, अंधेरे पूर्वप्रवण दुःस्वप्न में ले जाया, जिसमें कोई रास्ता नहीं था जिसे मैं देख सकता था। इसके बजाय मैंने इसे यथासंभव छोटा करने का लक्ष्य रखा है।

/**/
#include<cstdio>
int main(){puts("Greetings Planet!");}//*/
/*//};)"!tenalP sgniteerG"(stup{)(niam tni
>oidtsc<edulcni#
/**/

5

पायथन 3, 57 बाइट्स

print('Greetings, Planet!')#)'!tenalP ,sgniteerG'(tnirp

मैंने कोष्ठक के साथ मुद्दे को तय किया।

पायथन 2, 53 बाइट्स

print'Greetings, Planet!'#'!tenalP ,sgniteerG'tnirp

मैंने पायथन 2 में आवश्यक कोष्ठक और रिक्त स्थान की कमी का फायदा उठाया, लेकिन इसमें इतना बड़ा अंतर नहीं था।


5

जेली, गैर-प्रतिस्पर्धात्मक

25 बाइट्स यह जवाब गैर-प्रतिस्पर्धात्मक है, क्योंकि चुनौती जेली के निर्माण से पहले की है।

»1ị“RsẈḄ,#ʠU“Uʠ#,ḄẈsR“ị1»

देखो 'मा, नो कमेंट्स! इसे ऑनलाइन आज़माएं!

यह काम किस प्रकार करता है

»1ị“RsẈḄ,#ʠU“Uʠ#,ḄẈsR“ị1»  Main link. No arguments.

   “        “        “  »  Decompress all three strings; yield a list of strings.
    RsẈḄ,#ʠU               (decompresses to 'Greetings, Planet!')
             Uʠ#,ḄẈsR      (decompresses to ' WafdkmC Posited,')
                      ị1   (decompresses to 'Taarhus')

»1                         Take the maximum of the default argument (0) and 1.
  ị                        Select the string at the index to the left.

4

अटक , 41 बाइट्स

"Greetings, Planet!"p"!tenalP ,sgniteerG"

सीजेएम के उत्तर के समान ही, स्टक को छोड़कर अगर एक प्रिंट कमांड जारी किया जाता है, तो स्वचालित स्टैक प्रिंटिंग दबा दी जाती है।


3

गणितज्ञ, 52 बाइट्स

Print@"Greetings, Planet!""!tenalP ,sgniteerG"@tnirP

यह भी उत्पन्न करता है Null "!tenalP ,sgniteerG"[tnirP]जो मुद्रित नहीं होता है।


1
FYI करें, आपके बहुत सारे जवाब (इसमें शामिल) कम गुणवत्ता वाले कतार में उछाले जा रहे हैं क्योंकि वे पूरी तरह से एक शीर्षक / स्कोर और कोड हैं। हालाँकि इसमें कुछ भी गलत नहीं है, आप अधिक पाठ जोड़ने पर विचार कर सकते हैं (जैसे कि स्पष्टीकरण) ताकि वे ऑटो-ध्वजांकित न हों।
मेगो

@Mego ठीक है, सोचा कि वे बहुत आत्म-व्याख्यात्मक थे।
लीजनमोनमल 978

1
मैं यह नहीं कह रहा हूं कि एक स्पष्टीकरण की कमी एक बुरी बात है (हालांकि स्पष्टीकरण के साथ उत्तर अधिक उत्थान करते हैं), मैं आपको केवल यह बता रहा हूं कि आपके (मान्य) उत्तर उनकी लंबाई के कारण ऑटो-फ्लैग हो रहे थे। :)
मीगो

2
आप के साथ 2 बाइट्स बचा सकता है Echoमें v10.3
१५

3

विखंडन , 45 43 बाइट्स

2 बाइट बचाने के लिए jimmy23013 का धन्यवाद।

;"!tenalP ,sgniteerG"R"Greetings, Planet!";

इसे ऑनलाइन आज़माएं!

Rएक परमाणु को आरम्भ करता है जो दाईं ओर बढ़ता है। "टॉगल स्ट्रिंग मोड जो बस हिट करने से पहले STDOUT को वांछित स्ट्रिंग प्रिंट करता है ;, जो परमाणु को नष्ट कर देता है और कार्यक्रम को समाप्त कर देता है। पहली छमाही को कभी निष्पादित नहीं किया जाता है।


@ jimmy23013 ईमानदार होने के लिए मेरे पास कोई सुराग नहीं है। धन्यवाद।
मार्टिन एंडर


2

STATA, 52 बाइट्स

di "Greetings, Planet!"//"!tenalP ,sgniteerG" id

टिप्पणियों का उपयोग नहीं करने वाला थोड़ा लंबा (53 बाइट) संस्करण है:

#d
di "Greetings, Planet!";"!tenalP ,sgniteerG" id
d#

#d [something];जब तक [कुछ] नहीं है cr, तब तक सीमांकक (शुरू में एक गाड़ी वापसी) को बदल देता है , इसलिए पहला आदेश परिसीमन को बदलता है ;, दूसरा स्ट्रिंग को प्रिंट करता है, और तीसरा (जो अंत तक जारी रहता है) स्पष्ट रूप से एक एनओपी है, हालांकि मैं नहीं हूं विचार क्यों। मुझे लगता है कि यह एक त्रुटि (अपरिचित आदेश "! TenalP, sgniteerG" या कुछ और) फेंक देंगे, लेकिन स्पष्ट रूप से नहीं।


2

जाप , 29 बाइट्स

इस प्रोग्रामिंग लैंग्वेज को प्रश्न पोस्ट किए जाने के बाद बनाया गया था, लेकिन इस प्रश्न के लिए नहीं बनाया गया था।

`!t?ÓP ,?Ä>ÎG`;`GÎ>Ä?, PÓ?t!`

इसे ऑनलाइन आज़माएं!

प्रत्येक ?एक यूनीकोड ​​यूनिकोड चार्ट है: क्रमशः U + 0082, U + 000F, U + 000F और U + 0082।

मजेदार तथ्य: अगर जाप को एक महीने पहले ही प्रकाशित किया गया था, तो यह कानूनी रूप से इस चुनौती को जीत लेगा।


2

एपीएल, 41 बाइट्स

'Greetings, Planet!'⍝'!tenalP ,sgniteerG'

एपीएल में, अंतिम मूल्य मुद्रित होता है और दीपक चरित्र (start) एक टिप्पणी शुरू करता है।


नमस्कार, और PPCG में आपका स्वागत है! बहुत बढ़िया जवाब!
NoOneIsHere


2

बंधन, 80 बाइट्स

proc unknown args {puts "Hello World!"}
}"!dlroW olleH" stup{ sgra nwonknu corp

स्पष्टीकरण: टीसीएल एक वैश्विक खरीद को निष्पादित करता है unknownजब यह एक अपरिभाषित कमांड पर कॉल का सामना करता है, पहली पंक्ति को फिर से परिभाषित करता है जो एक सरल "हैलो वर्ल्ड" प्रोग्राम के लिए खरीदता है।

टीसीएल के उद्धरण नियम काफी सूक्ष्म हैं, एक खुला ब्रेस एक उद्धृत शब्द शुरू करता है जो अगले मिलान पास ब्रेस तक फैला हुआ है , नेस्टेड, उद्धृत शब्दों की अनुमति देता है। ब्रेसेस को अन्यथा सामान्य पात्रों के रूप में माना जाता है। पाँच शब्द: }"!dlroW olleH", stup{, sgra, nwonknuऔर corp। कोई भी नाम }"!dlroW olleH"परिभाषित नहीं किया गया है, इसलिएundefined पहली पंक्ति से खरीद इसके बजाय मंगाई गई है।

एक समान प्रश्न पुरातनता के स्टैकऑवरफ्लो पर पोस्ट किया गया था; जिसे बाद में बंद कर दिया गया और हटा दिया गया। मैंने इस जवाब में गाल टीसीएल नमूने में एक जीभ के रूप में अपने समाधान का इस्तेमाल किया , और अब मुझे स्पष्टीकरण मांगने वाली टिप्पणियां मिल रही हैं, इसलिए मैं यहां अपने जवाब को फिर से बनाता हूं।



1

विटसी , 41 बाइट्स

इस प्रोग्रामिंग लैंग्वेज को प्रश्न पोस्ट किए जाने के बाद बनाया गया था, लेकिन इस प्रश्न के लिए नहीं बनाया गया था।

"! tenalP, sgniteerG" Z "ग्रीटिंग्स, प्लैनेट!"

ZSTDOUT करने के लिए ढेर में चरित्र आउटपुट सब कुछ।

इसे ऑनलाइन आज़माएं!


1

Unefunge 98 - 49 बाइट्स

"!tenalP ,sgniteerG<DC1>"k,@,k"<DC1>Greetings, Planet!"

ऊपर दिए गए कोड में कोड 17 (डिवाइस नियंत्रण 1) के साथ दो अचूक अक्षर हैं <DC1>


1

MSM , 73 बाइट्स

GGreetings, Planet!.................,.................!tenalP ,sgniteerGG

मध्य से ठीक पहले का पहला आधा ,रिवर्स अभिवादन स्ट्रिंग बनाता है जिसमें Gबहुत दाईं ओर अतिरिक्त भी शामिल है। मध्य ,इसे छोड़ देता है और बाकी एक विहित "हैलो / अभिवादन / जो भी" कार्यक्रम है। दोनों सिरों पर अतिरिक्त वर्णों की आवश्यकता है, क्योंकि संदेश में ए है ,। बायां एक निष्पादित होता है और गिरता है s। दोनों ,और sबाएं कंक्रीटिंग डॉट्स के लिए एक प्रतिस्थापन की आवश्यकता है, इसलिए Gएस। ,सही पर निष्पादित नहीं है, लेकिन निर्माण अंतिम स्ट्रिंग में।


1

कॉफीस्क्रिप्ट, 53 बाइट्स

रूबी और लुआ के समान और यहां सभी वेरिएंट बहुत ज्यादा हैं।

alert 'Greetings, Planet!'#'!tenalP ,sgniteerG' trela


1

बैश, 52 48 बाइट्स

echo Greetings, Planet!||!tenalP ,sgniteerG ohce

Ksh, zsh, yash, dash में भी काम करता है। लेकिन tcsh नहीं।

$ cat x.sh
echo Greetings, Planet!||!tenalP ,sgniteerG ohce
$ bash x.sh
Greetings, Planet!
$ ksh x.sh
Greetings, Planet!
$ zsh x.sh
Greetings, Planet!
$ yash x.sh
Greetings, Planet!
$ dash x.sh
Greetings, Planet!
$ tcsh x.sh
tenalP: Event not found.
$

1
सभी उद्धरण निकालें।
मैनेटवर्क

1
ओह डियर, एक बाश जवाब अजगर = / से छोटा था। ड्रॉइंग बोर्ड पर वापस!
अश्विन गुप्ता

1

लुआ, 52 बाइट्स

print"Greetings, Planet!"--"!tenalP ,sgniteerG"tnirp

लुआ टर्मिनल में, यह केवल 44 बाइट्स के साथ है

="Greetings, Planet!"--"!tenalP ,sgniteerG"=

मेरी गलती। अलर्ट के लिए धन्यवाद!
डिजिटल वीर

सभी कोष्ठक निकालें। एकल स्ट्रिंग पैरामीटर वाले कार्यों के लिए वे वैकल्पिक हैं।
मैनटवर्क

लुआ 5.3 =को टर्मिनल में आवश्यकता नहीं है , इसलिए यह वहां से 2 बाइट्स है। मुझे लगता है कि यह 2015 में अस्तित्व में था, निश्चित रूप से नहीं।
वैल का कहना है कि मोनिका

1

मिल्की वे 1.5.10 , 43 41 39 बाइट्स

"Greetings, Planet!"!tenalP ,sgniteerG"

व्याख्या

"Greetings, Planet!"                       # push the string to the stack
                    !                      # output the TOS
                     tenalP ,sgniteerG"    # throws an error and exits

प्रयोग

python3 milkyway.py <path-to-code>

क्या आपको वास्तव में एक टिप्पणी की आवश्यकता थी? यदि यह स्टैक आधारित (बिना अंतर्निहित आउटपुट) है, तो बस स्टैक आउटपुट करना काम करना चाहिए।
Addison Crump

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