मुस्कुराओ! बस मुस्कुराओ


16

यह सर्वविदित है कि कोलमोगोरोव-जटिलता समस्याओं पर ब्रेनफ * सीके बहुत खराब है, उदाहरण के लिए, इसे "हैलो वर्ल्ड" प्रिंट करने के लिए लगभग 100 वर्णों की आवश्यकता होती है।

हालांकि, ऐसे ग्रंथ हो सकते हैं जहां ब्रेनफ * सीके बहुत अच्छा है।

आपका कार्य अब एक प्रोग्राम लिखना है जो कोई इनपुट नहीं लेता है, और यह निम्नलिखित प्रदर्शित करता है:

वह है, एक स्माइली चेहरा (ASCII 1, यदि आप ब्राउज़र इसे रेंडर नहीं करते हैं)।

ब्रेनफ * ck इसे 2 अक्षरों में कर सकते हैं।

+.

एक भाषा खोजने की कोशिश करें जो इसे धड़कता है!

हम मानते हैं कि आपका कंसोल वास्तव में उस चरित्र को प्रदर्शित कर सकता है (या आपके फ़ॉन्ट में यह है, आदि)।

सबसे छोटा कोड जीतता है। यदि एक ही लंबाई के अधिक होते हैं, तो पहली जीत होती है, लेकिन मैं दूसरों को भी उकसाऊंगा।

संपादित करें: मुझे बहुत खेद है, मुझे नहीं लगा कि यह पहला पोस्ट जल्द ही आएगा। एक त्वरित संपादन: भाषा को ट्यूरिंग-पूर्ण होना चाहिए!


7
मुझे आउटपुट के आपके विवरण का विवाद करना चाहिए: जबकि आपका कोड वास्तव में द्विआधारी कोड 1 के साथ एक वर्ण का आउटपुट करता है, यह ASCII-एन्कोडेड नहीं है, लेकिन CP850 या CP437 जैसे कुछ डॉस कोडपेज एन्कोडिंग के अंतर्गत आता है। किसी भी आधुनिक कंसोल में स्माइली दिखाई नहीं देगी, क्योंकि आधुनिक == UTF-8। ☺
स्वेन

जवाबों:


10

FALSE (2)

1,

बीएफ के बारे में पढ़ने वाले सभी ने भुगतान किया! झूठा ब्रेनफक का पूर्वज है।


आउच! अजीब बात है कि अब तक किसी ने ऐसा नहीं सोचा था। :)
बनाम नौ

1
मुझे यह स्वीकार करना पड़ा, क्योंकि सादे-पाठ और HTML वाले संस्करण वास्तव में प्रोग्रामिंग भाषाओं के साथ नहीं थे।

मैंने इसे BLC के साथ करने की कोशिश की, लेकिन मैं BLC से कोई मतलब नहीं निकाल सकता। और यहां तक ​​कि 1-स्टेट ट्यूरिंग मशीन को ट्यूपल में 4 या 5 तत्वों की आवश्यकता होती है।
लूज़र ने

12

मेथेमेटिका

सिर्फ मनोरंजन के लिए...

"\[HappySmiley]"
"\[NeutralSmiley]"
"\[SadSmiley]"
"\[FreakedSmiley]"

स्माइली



@belisarius आप इसे ASCII में कैसे बदले बिना पेस्ट कर सकते हैं?
डेविड नोव

1
मैंने इसे कॉपी-पेस्ट किया :) :)
डॉ। बिसरिसेर

@ सबिसरियस मैंने आइकन काटे और चिपकाए, लेकिन किसी कारण पूर्ण प्रारूप दिखाया गया था।
डेविड डिक

1
वाणिज्यिक मूल्य लगभग 75 सेंट है। गणितीय मान शून्य है।
डेविड आर्क 25'13

8

सी, 18 चार

ब्रेनफ ** की पिटाई से दूर, लेकिन जितना अच्छा C मिल सकता है (मुझे लगता है)।
केवल छोटे-एंडियन प्लेटफॉर्म पर काम करता है, मापदंडों के बिना चलना चाहिए।

main(c){puts(&c);}

7

माइक्रोनिटिक्स सिस्टम MUMPS 4.4 (7 वर्ण)

w $c(1)

MUMPS? ओह, हॉरर ... मैंने कभी सोचा भी नहीं था कि मैं इसे यहां देखूंगा। शुद्ध झटका मूल्य के लिए +1!
१२:०२ पर vsz

@vsz यह एकमात्र गोल्फ उपयुक्त भाषा है जिसे मैं जानता हूं, यह अक्सर सबसे आम लंगोटी धड़कता है :)
डेवशॉव

5

ब्रेनफ़ * सीके (केवल 2 वर्ण)

+.

बेशक, मैं अभी भी लंबाई 2 के समाधान को स्वीकार
करूंगा

क्या आप बता सकते हैं कि यह कैसे काम करता है? यह ASCII 1 का उत्पादन करना चाहिए जो एक गैर-मुद्रण योग्य वर्ण है।
nyuszika7h 13

@ nyuszika7h: कई कंसोल्स ASCII 1. के लिए एक स्माइली का उत्पादन करते हैं

1
वास्तव में? मैंने कभी ऐसा कंसोल नहीं देखा। मुझे यकीन है कि वे कुछ अस्पष्ट चारसेट का उपयोग करते हैं।
nyuszika7h

5

2 वर्णों को नहीं हराता, लेकिन:

PHP 11 वर्ण।

<?=chr(1)?>

हर कोई कह रहा है कि आप बस php में स्माइली रख सकते हैं और यह आउटपुट देगा :

इसे कमांड लाइन में php.exe के साथ रन करना Γÿǁऔर इसे ब्राउजर में देता है☺

यह काम नहीं करता है।


आप उस HTML मार्ग पर भी जा सकते हैं जो m0nhawk ने किया था।
श्री लामा

@ गीगावाट आप नहीं कर सकते। यह PHP का उपयोग करके जिबरिश करता है। क्या आपने भी कोशिश की? मैंने इसे CLI और ब्राउज़र में आज़माया।
jdstankosky

मेरे लिए ठीक काम करता है। ideone.com/6wYzx9
श्री लामा

कमांड लाइन में php.exe के साथ इसे चलाना Γÿǁऔर ब्राउजर में इसे ☺
रखना

2
यदि आप अपनी फ़ाइल का एक हेक्स डंप करते हैं, तो आप देखेंगे कि यह एक स्माइली ( \xE298BA) के यूनिकोड प्रतिनिधित्व के रूप में सहेजा गया था, जैसा कि नहीं \x01। इसमें मैन्युअल रूप से एक एकल \x01बाइट के साथ एक फ़ाइल बनाने की कोशिश करें और इसे PHP के साथ कमांड लाइन से चलाएं।
श्री लामा

5

डीसी - 2 अक्षर

1P

इसके लिए किसी स्पष्टीकरण की आवश्यकता नहीं है।


4

गोल्फस्क्रिप्ट, 3 वर्ण

"☺"

एक गोल्फ विशेषज्ञ नहीं, लेकिन मेरा मानना ​​है कि केवल 1 वर्ण का उपयोग करके ASCII चरित्र को पूर्णांक में बदलने का एक तरीका है, इसलिए ऐसा लगता है कि यह सबसे छोटा है जो इसे प्राप्त कर सकता है


4

PHP (1)

तकनीकी रूप से यह एक वैध PHP फ़ाइल है (एक वेब सर्वर इसे खुशी से सेवा देगा)।


3

LaTeX (51/77 वर्ण)

संक्षिप्त समाधान

\documentclass{book}
\begin{document}
☺
\end{document}

अच्छा समाधान (साथ संकलन latex main.tex):

\documentclass{book}
\usepackage{wasysym}
\begin{document}
\smiley
\end{document}

पहला काम नहीं करता है क्योंकि शुद्ध एलईटीएक्स यूनिकोड चार्ट नहीं पढ़ सकता है। अजीब तरह से, यह XeLaTeX में और न ही LuaLaTeX में काम नहीं करता है, क्योंकि डिफ़ॉल्ट फ़ॉन्ट तालिका में यह प्रतीक नहीं है। कृपया इस पर विचार करें: \documentclass{book} \usepackage{fontspec} \setmainfont{DejaVu Sans} \begin{document}☺\end{document}- और कृपया "अच्छा" समाधान में आपके द्वारा उपयोग किए जा रहे रेंडरिंग इंजन (pdfLaTeX) को निर्दिष्ट करें।
आंद्रे

2

जे (3 वर्ण)

'☺'

कोड को उपयुक्त फ़ॉन्ट की आवश्यकता है।

विकिपीडिया के अनुसार

विंगडिंग्स फ़ॉन्ट में, "जे" अक्षर को एक स्माइली चेहरे के रूप में प्रस्तुत किया गया है (ध्यान दें यह यूनिकोड कोड बिंदु U + 263A से अलग है, जो ☺ के रूप में प्रस्तुत करता है)।


एक और भिन्नता है u:1
फायरफली

2

क्यू / के (9 वर्ण)

दुर्भाग्य से 2 में नहीं कर सकते।

-1"\001";

मैं दुभाषिया के पुराने संस्करण में एक बग को याद करता हूं जो कम पात्रों में अन्य मुस्कान प्रतीक का उत्पादन करता था। मैं इसे देखूंगा।

संपादित करें: quirk पाया। यह केवल दुभाषिया के विंडोज़ संस्करणों पर काम करता प्रतीत होता है:

q)1(1b);
☺


1

बर्लेस्क - 6 वर्ण

,1L[sh

स्पष्टीकरण:

,स्टड पॉप। 1L[एक को धक्का और चार में परिवर्तित (कोडपॉइंट द्वारा) shका उपयोग सुंदर प्रारूप में स्विच करने के लिए किया जाता है। (अन्यथा यह एक प्रमुख प्रिंट होगा ')।


1

टिल, १

कुछ अन्य सामानों के साथ ☺ प्रदर्शित करता है।
अफवाहें हैं कि यह भी PHP या अन्य भाषाओं के साथ काम करता है।



1

केग , 2 वर्ण

नंबर 1 को पुश करें और प्रिंट करें। (आश्चर्य है कि 1,यह भी काम करता है; Lyxal से -1)

1,

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

केजी , 1 वर्ण

केग वास्तव में ट्यूरिंग-पूर्ण है, और कोई भी अपरिचित आदेश स्टैक पर एक धक्का के रूप में कार्य करता है।

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


यह वास्तव 1,में इसे 2 बाइट्स बना रहा है।
Lyxal

1

05AB1E , 2 वर्ण

बस एक उबाऊ हार्ड-कोडिंग। यह CP437 में एनकोडेड है।

"☺

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

05AB1E , 2 बाइट्स

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


आप एन्कोडिंग को शामिल करना चाह सकते हैं। CP850 या CP437 जैसे एन्कोडिंग में आपका शीर्ष उत्तर केवल 2 बाइट्स है, जिसमें दोनों वर्ण और "उनके कोडपेज में हैं। लेकिन 05AB1E एन्कोडिंग का उपयोग करते हुए, शीर्ष उत्तर भी संभव नहीं है, और UTF-8 एन्कोडिंग का उपयोग करके यह 4 बाइट होगा।
केविन क्रूज़सेन

चुनौती कहती है कि वर्ण एक मान्य एन्कोडिंग सिस्टम हैं ...
a'_ '20

1

Stax ]पूर्वगामी रूप से काम नहीं करता है - यह स्टैक से एक आइटम को पॉप करता है और इससे एक सूची बनाता है। इसलिए आपको वैकल्पिक रूप 1]से कार्यक्रम की आवश्यकता हो सकती है ।
a'_ '


0

पर्ल 6 (7 वर्ण)

say '☺'

मैं यह मानकर नियमों को थोड़ा झुका रहा हूं कि शेल प्रॉम्प्ट मेस से बचने के लिए a \ n का स्वागत है।


4
क्या आप सुनिश्चित हैं कि आपको उस स्थान वर्ण की आवश्यकता है?
JB



0

पॉवरशेल , 5 बाइट्स

अगर एक प्रोग्राम को स्माइल फेस चार का आउटपुट देना चाहिए।

'☺'

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


पॉवरशेल , 7 बाइट्स

यदि एक प्रोग्राम को कोड 1 के साथ चार का आउटपुट देना चाहिए।

[char]1

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


1
सिर्फ क्यों नहीं '☺'? वैसे, TIO या कंसोल में मेरे लिए चेहरा प्रस्तुत नहीं किया गया है
IT Delinquent

क्योंकि मुस्कान चेहरे के लिए कोड Powershell में 1 नहीं है। इसे ऑनलाइन आज़माएं!
माज़ी

1
क्या इसके बजाय आपका जवाब '[चार] 9786' होना चाहिए? मैं वास्तव में उलझन में हूं :-D
आईटी डिलेक्वेंट

1
हा! तुम सही हो। मैंने सोचा था कि मैं एक प्रोग्राम लिखूंगा जो कोड 1 के साथ एक चरित्र को आउटपुट करता है। लेकिन आप इसे एक स्माइली चेहरे को आउटपुट करने वाले प्रोग्राम को लिखने के रूप में व्याख्या कर सकते हैं।
Mazzy


0

MineFriff , 5 बाइट्स

C1,o;

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

सीधे शब्दों में:

  • एक चरित्र के रूप में अस्थायी रजिस्टर का इलाज करें
  • रजिस्टर में एक जोड़ें और पुश करें
  • शीर्ष आइटम को आउटपुट करें और समाप्त करें।

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