मुझे एक हॉट कुत्ता पकाओ! [बन्द है]


13

कभी-कभी मैं खुद को हॉट डॉग (हम सब नहीं चाहते) पाता हूं और इसलिए मैं एक बना देता हूं। अब एक हॉट डॉग बनाने के लिए, यह बहुत सरल है।

1) गर्म कुत्तों को उबलते पानी में डालें

2) समय की एक निश्चित राशि के लिए प्रतीक्षा करें (नीचे विस्तृत)

3) समय बीत जाने के बाद हॉट डॉग खाएं।

आपने देखा होगा कि मैंने कहा

निश्चित समय (नीचे विस्तृत)

और इसलिए मैं विस्तार करूंगा।

कई अलग-अलग ब्रांडों के पास कई अलग-अलग सिफारिशें हैं कि हमें कितने समय तक गर्म कुत्तों को पकाना चाहिए, लेकिन मैंने उन्हें 4 मिनट और 27 सेकंड के लिए पकाने के लिए सबसे अच्छा पाया है (मत पूछो)। मैंने कई अलग-अलग टाइमर्स की कोशिश की है, लेकिन पाया है कि एक प्रोग्राम जो लगातार आउटपुट करता है, वह मेरा ध्यान आकर्षित करने का सबसे अच्छा तरीका है।

आपका कार्य

आपको एक प्रोग्राम बनाना होगा जो संदेश Not ready yetको 4 मिनट और 27 सेकंड के लिए आउटपुट करेगा । इस समय के बाद समाप्त हो गया है, आप Eat your hot dogसमय के अंत तक उत्पादन करना चाहिए । कृपया कोई इनपुट न लें।

कैसे जीतें

आपको जीतने के लिए बाइट्स में सबसे छोटा कोड लिखना होगा क्योंकि यह एक




अंतर केवल इतना है कि इस चुनौती के लिए समय की एक विशेष राशि की प्रतीक्षा करने के लिए कार्यक्रम की आवश्यकता होती है
user41805

8
जब तक अंतराल खत्म नहीं हो जाता (तब तक Not ready yet\nNot ready yet\n...हम बार-बार "आउटपुट के लिए तैयार नहीं" होना चाहिए या क्या हम इसे केवल एक बार आउटपुट कर सकते हैं और 4m 27s खत्म होने के बाद आउटपुट बदल सकते हैं?
1841 पर user41805

1
उफ़, मेरा जवाब मुझे पिछले दो दिनों से मेरे गर्म कुत्ते को खाने की याद दिला रहा है ...
नील

जवाबों:


20

स्क्रैच, 93 78 बाइट्स

छवि प्रतिनिधित्व

कोड:

when gf clicked
say[Not ready yet
wait until<(timer)>[267
say[Eat your hot dog

Https://scratchblocks.github.io/ द्वारा निर्मित , जो स्क्रैच स्कोरिंग के लिए मानक प्रतीत होता है।

काफी हद तक आत्म व्याख्यात्मक। जब प्रोग्राम शुरू होता है, तो "अभी तक तैयार नहीं" कहें जब तक कि टाइमर (जिसे सेकंड में गिना जाता है) 267 से अधिक हो। तब एक अनंत लूप शुरू होता है जहां वह कहता है Eat your hot dog

यह है क्योंकि, सतत उत्पादन sayब्लॉक जब तक आप हमेशा के लिए चलाता है say []या sayकुछ और।


7
8 बाइट्स को बचाने के लिए, हमेशा के लिए कोई ज़रूरत नहीं है। यह 85 बाइट्स तक ले जाता है। यह अंग्रेजी के बजाय हन्नाहु (मेज़क्विटल ओटोमी) में छोटा है , एक और 8 बाइट्स (हमेशा के लिए) के बिना, इसे सिर्फ 77 बाइट्स तक ले जाता है।
टिम


@ धन्यवाद, लेकिन हरी झंडी से काम नहीं लगता।
ओकेक्स

वास्तव में यह वेबसाइट द्वारा आधिकारिक अनुवाद से आता है, इसलिए यह एक बग है कि यह गलत है।
टिम अप

@ समय हरी झंडी ब्लॉक शायद अभी तक लागू नहीं किया गया है (हालांकि अनुवाद अभी भी इसका अनुवाद करता है)। इसके अलावा, आधिकारिक स्क्रैच में Hñähñu भाषा नहीं है।
आउटगोल्फर

14

बैश + कोरुटिल्स, 50

timeout 267 yes Not ready yet
yes Eat your hot dog

व्याख्या

मुझे लगता है कि केवल आत्म-व्याख्यात्मक, लेकिन सिर्फ मामले में:

  • yesCoreutil लगातार बार-बार कमांड लाइन पर यह करने के लिए पारित कर दिया कोई पैरामीटर आउटपुट
  • timeoutCoreutil एक अंकीय टाइमआउट पैरामीटर एक आदेश के बाद ले जाता है। कमांड चलाया जाता है, फिर निर्दिष्ट टाइमआउट के बाद मार दिया जाता है।

8

ऑपरेशन फ्लैशपॉइंट स्क्रिप्टिंग भाषा, 67 बाइट्स

#l
s="Not ready yet"
?_time>267:s="Eat your hot dog"
hint s
goto"l"

"hotdog.sqs"मिशन फ़ोल्डर में (या जो भी) सहेजें और साथ कॉल करें [] exec "hotdog.sqs"

स्पष्टीकरण:

#l                                  // Label for the "goto"
s="Not ready yet"
?_time>267:s="Eat your hot dog"     // "?:" means "if () then" in a script.
                                    // "_time" is a local variable that is automatically
                                    // created and updated in every script. Its value
                                    // is the time in seconds since the script started.

hint s                              // Outputs the text in a text box.

~.1                                 // Sleeps for a tenth of a second.
                                    // The script seems to work without sleeping too,
                                    // so I didn't include this in the golfed version.
                                    // Looping in a script without sleeping is always
                                    // a bad idea, though. It sometimes crashes the game.

goto"l"                             // Go back to the beginning of the loop.
                                    // This is the only way to create a loop if you don't 
                                    // want to halt the game (and the time calculation)
                                    // until the loop finishes.

मैंने कई अलग-अलग टाइमर्स की कोशिश की है, लेकिन पाया है कि एक प्रोग्राम जो लगातार आउटपुट करता है, वह मेरा ध्यान आकर्षित करने का सबसे अच्छा तरीका है।

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


7

जावास्क्रिप्ट ईएस 6, 76 बाइट्स

$=>setInterval("console.log(--_>0?`Not ready yet`:`Eat your hot dog`)",_=517)

व्याख्या

यह प्रत्येक 517 मिलीसेकंड पर कंसोल के लिए कुछ प्रिंट करता है। सबसे पहले, यह 'Not ready yet'काउंटर को प्रिंट और घटाता है। 517 पुनरावृत्तियों ( = 517 * 517 = 267289 ms) के बाद , यह प्रिंट करना शुरू कर देता है 'Eat your hot dog'

परीक्षा

f=
  $=>setInterval("console.log(--_>0?`Not ready yet`:`Eat your hot dog`)",_=517);
(setInterval("console.log('DONE NOW')",267000)&&f())();


क्या आप सिर्फ सेटलमेंट नहीं कर सकते और बाइट बचा सकते हैं?
user1910744

setTimeoutकेवल एक बार फ़ंक्शन निष्पादित करता है। चुनौती एक स्ट्रिंग को लगातार आउटपुट करने की है, इसलिए setTimeoutअमान्य होगी।
ल्यूक

(--_?(--_>0? (-2) के बजाय काम करता है
dandavis

दुर्भाग्य से, _हर बार कुछ छपने पर इसे घटाया नहीं जाएगा, इसलिए यह शून्य से भी नीचे चला जाएगा। सभी नकारात्मक पूर्णांक सत्य हैं, इसलिए वे भी प्रिंट 'Not ready yet'करेंगे (जो कि हम नहीं चाहते हैं)।
ल्यूक

7

पॉवरशेल, 85 71 59 बाइट्स

1..276|%{Sleep 1;'Not ready yet'};for(){'Eat your hot dog'}

वहाँ शायद एक बेहतर तरीका है, इसलिए आलोचना का स्वागत है! यह मेरा पहला गोल्फ प्रयास है :)

AdmBorkBork के लिए एक पूरे 14 बाइट्स नीचे EDIT ! और निश्चित रूप से याद रखने की एक तकनीक!

EDIT 2 एक और 12 बाइट मैट के लिए धन्यवाद गया। दो बार कॉलिंग राइटिंग भी नहीं, 2 स्पेस निकाले, बहुत मददगार!


1
PPCG में आपका स्वागत है! आसपास एक और PowerSheller देखकर अच्छा लगा। एक आसान गोल्फ एक वेतन वृद्धि के साथ लूप के 1..276|%{}बजाय एक निश्चित संख्या में लूप चलाना है for। उस पृष्ठ पर कुछ अन्य युक्तियां भी देखें!
AdmBorkBork

स्ट्रिंग को डिफ़ॉल्ट रूप से भेजने के लिए भेजा जाता है। write-outputCmdlet के साथ निर्दिष्ट करने की आवश्यकता नहीं है ।
मैट

7

गेममेकर की स्क्रिप्टिंग लैंग्वेज वैरिएंट का इस्तेमाल न्यूक्लियर थ्रोन टुगेदर मॉड में, 68 बाइट्स में किया गया है

t=0while 1{trace(t++<8010?"Not ready yet":"Eat your hot dog")wait 1}

व्याख्या

  • GML का पार्सर स्वादिष्ट रूप से क्षमा करने योग्य है। अर्धविराम और कोष्ठक वैकल्पिक हैं, और संकलक मूल नियमों के बाहर आपकी रिक्ति के बारे में चिंतित नहीं है ( 0whileजैसा कि ठीक है 0, whileऔर इस तरह ठीक है)
  • जब तक var(जेएस के समान) के माध्यम से घोषित नहीं किया जाता है तब तक चर निष्पादन के संदर्भ में लीक हो जाते हैं ।
  • NTT में प्रयुक्त GML वैरिएंट एक waitऑपरेटर का परिचय देता है , जो निष्पादित माइक्रो-थ्रेड को निर्दिष्ट फ्रेम के लिए सूची में धकेलता है, बाद में फिर से शुरू करता है। मूल रूप से कोराटाइन।

    खेल 30fps पर देखा जाता है, इसलिए 4m27s == 267s == 8010 फ्रेम।

  • ट्रेस () दिए गए स्ट्रिंग को चैट में आउटपुट करता है।

यदि आपके पास वीडियोगेम + मॉड इंस्टॉल है, तो आप इसे कुछ के रूप में सहेज सकते हैं test.mod.gml, और /loadmod testइसे निष्पादित करने के लिए कर सकते हैं, "स्टेटस रिपोर्ट" के साथ चैट को बाढ़ कर सकते हैं:

स्क्रीनशॉट


3
मैं बिल्कुल निश्चित नहीं हूं कि यहां क्या हो रहा है, लेकिन मुझे मंजूर है।

3

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

from time import*
t=time()
while 1:print"Not ready yet"if time()-t<267else"Eat your hot dog"

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


9
while 1:print'ENaott yroeuard yh oyte td o g'[time()-t<267::2]90 बाइट्स के लिए
ovs

@ ओव्स while 1:print['Eat your hot dog','Not ready yet'][time()-t<267]भी 90 होंगे (स्पष्ट होने के साथ-साथ अतिरिक्त सफेद स्थान को मुद्रित नहीं करना)।
जोनाथन एलन

3

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

For(A,1,267
Disp "Not ready yet
Wait 1
End
While 1
Disp "Eat your hot dog
End

व्याख्या

For(A,1,267             # 9 bytes, for 267 times...
Disp "Not ready yet     # 26 bytes, display message
Wait 1                  # 3 bytes, and wait one second
End                     # 2 bytes, ...end
While 1                 # 3 bytes, after that, continuously...
Disp "Eat your hot dog  # 31 bytes, output second message
End                     # 1 byte, ...end

2

बैच, 99 बाइट्स

@for /l %%t in (1,1,267)do @echo Not ready yet&timeout/t>nul 1
:l
@echo Eat your hot dog
@goto l

बैच की कोई तिथि अंकगणित नहीं है, इसलिए एक साधारण 267 सेकंड टाइमआउट की अनुमति नहीं है, जो कि मैं कर सकता हूं वह 267 एक सेकंड का समय है।


2

सी # 144 बाइट्स

()=>{for(int i=0;;){var s="\nEat your hot dog";if(i<267e3){i++;s="\nNot ready yet";}System.Console.Write(s);System.Threading.Thread.Sleep(1);}};

पूर्ण कार्यक्रम:

class P
{
    static void Main()
    {
        System.Action a = () => 
            {
                for (int i = 0; ;)
                {
                    var s = "\nEat your hot dog";
                    if (i < 267e3)
                    {
                        i++;
                        s = "\nNot ready yet";
                    }
                    System.Console.Write(s);
                    System.Threading.Thread.Sleep(1);
                }
            };

        a();
    }
}

दुर्भाग्य से मैं ?:-प्रोपरेटर का उपयोग नहीं कर सका क्योंकि मुझे इसके iबिना वेतन वृद्धि रोकने का कोई तरीका नहीं मिला है if


if(i++<267e3)कुछ बाइट्स बचाने के लिए कुछ आज़माएं ।
एड्रियनम्प

1
@adrianmp: यह काम नहीं करेगा, क्योंकि यह अभी भी iहर मिलीसेकंड बढ़ेगा । और एक बार int.MaxValueकार्यक्रम में पहुंचने के बाद या तो दुर्घटनाग्रस्त हो जाएगी या Not ready yetफिर से छपाई शुरू हो जाएगी।
राजनागुल

मैं अतिप्रवाह में देरी करके (या यहां तक ​​कि कुछ बाइट्स की कीमत पर इसे कम करके) इसे खींचने में कामयाब रहा हूं। मैंने आपके उत्तर से कुछ विचार "उधार" लिए हैं। धन्यवाद!
एड्रिएम्प

2

सी #, 174 172 147 बाइट्स

Raznagul के C # उत्तर से कुछ विचारों को "उधार" करके 25 बाइट्स सहेजे और उन्हें पहले n संख्या चाल के योग के साथ मिला दिया!

185 मिलीसेकंड की शुद्धता के नुकसान के लिए पहले n संख्या चाल के योग का उपयोग करके 2 बाइट्स सहेजे गए।

class P{static void Main(){for(int i=1;;){System.Console.WriteLine(i++<731?"Not ready yet":"Eat your hot dog");System.Threading.Thread.Sleep(i);}}}

अनप्लग्ड प्रोग्राम:

class P
{
    static void Main()
    {
        for (int i=1;;)
        {
            System.Console.WriteLine( i++ < 731 ? "Not ready yet" : "Eat your hot dog");
            System.Threading.Thread.Sleep(i);
        }
    }
}

स्पष्टीकरण:

चूंकि प्रतीक्षा करने के लिए कुल समय 267 सेकंड में हार्डकोड किया जाता है, इसलिए इस संख्या को पहले n प्राकृतिक संख्याओं के दूरबीन योग के रूप में माना जा सकता है n * (n + 1) / 2, जिसे 267000 मिलीसेकंड के बराबर होना चाहिए।

इसके बराबर है n^2 + n - 534000 = 0

इस दूसरा आदेश समीकरण को हल करके, , ।n1 = 730.2532073142067 n2 = -n1बेशक, केवल सकारात्मक समाधान स्वीकार किया जाता है और 730 के रूप में अनुमान लगाया जा सकता है ।

कुल समय की गणना इस प्रकार की जा सकती है 730 * (730 + 1) / 2 = 266815 milliseconds। आवेग 185 मिलीसेकंड है , जो मनुष्यों के लिए अगोचर है। कोड अब 1 मिलीसेकंड, 2 मिलीसेकंड और इतने पर 730 के लिए मुख्य (और केवल) धागा सोता है, इसलिए नींद की कुल अवधि ~ 267 सेकंड है।

अपडेट करें:

कार्यक्रम के तर्क को और सरल बनाया जा सकता है - मूल रूप से इसे एक संदेश को प्रदर्शित करने और दूसरे संदेश पर स्विच करने तक निर्दिष्ट समय की प्रतीक्षा करने की आवश्यकता होती है।

निर्दिष्ट समय (~ 267 सेकंड) के पारित होने की जांच करने के लिए एक टर्नरी ऑपरेटर का उपयोग करके संदेश को बदला जा सकता है।

समय के पहलू को एक बढ़ते काउंटर का उपयोग करके और निष्पादन थ्रेड को रोककर नियंत्रित किया जाता है।

हालाँकि, जब से काउंटर वैरिएबल अपने मूल्य की जांच करने के लिए बिना किसी शर्त के अनिश्चित काल तक बढ़ता रहता है, किसी को किसी बिंदु पर पूर्णांक अतिप्रवाह की उम्मीद हो सकती है, जब संदेश वापस लौटता है Not ready yet

अतिप्रवाह होने i=i<1?731:iपर forलूप के अंदर - जैसे 730 से अधिक सकारात्मक मूल्य बताकर समस्या का पता लगाने और इसे कम करने के लिए एक शर्त जोड़ी जा सकती है । अफसोस की बात है, यह 11 अतिरिक्त बाइट्स की लागत पर आता है:

class P{static void Main(){for(int i=1;;i=i<1?731:i){System.Console.Write(i++<731?"\nNot ready yet":"\nEat your hot dog");System.Threading.Thread.Sleep(i);}}}

यहाँ कुंजी मिलीसेकंड में काउंटर वैल्यू का उपयोग करके अतिप्रवाह के क्षण में देरी कर रही है।

जब तक अतिप्रवाह की गणना sum(1..n)सूत्र के अनुसार की जा सकती है, जहाँ n = C # (और .NET .NET फ्रेमवर्क) में अधिकतम 32-बिट हस्ताक्षरित पूर्णांक मान या 2 ^ 31 - 1 = 2147483647:

2 147 483 647 * 2 147 483 648 / 2 = 2,305843008 x 10^18 milliseconds = 2,305843008 x 10^15 seconds = 26 687 997 779 days = ~73 067 755 years

73 मिलियन वर्षों के बाद , इससे कोई फर्क नहीं पड़ता कि सिस्टम में गड़बड़ दिखाई देती है - हॉट डॉग, भूखा ओपी और शायद मानव जाति खुद लंबे समय तक चले गए।


पिछला संस्करण (172 बाइट्स):

namespace System{class P{static void Main(){for(int i=1;i<731;){Console.Write("\nNot ready yet");Threading.Thread.Sleep(i++);}for(;;)Console.Write("\nEat your hot dog");}}}

अनप्लग्ड प्रोग्राम:

namespace System
{
    class P
    {
        static void Main()
        {
            for (int i = 1; i < 731; )
            {
                Console.Write("\nNot ready yet");
                Threading.Thread.Sleep(i++);
            }
            for ( ; ; )
                Console.Write("\nEat your hot dog");
        }
    }
}

पिछला संस्करण (174 बाइट्स):

namespace System{class P{static void Main(){for(int i=0;i++<267e3;){Console.Write("\nNot ready yet");Threading.Thread.Sleep(1);}for(;;)Console.Write("\nEat your hot dog");}}}

अनप्लग्ड प्रोग्राम:

namespace System
{
    class P
    {
        static void Main()
        {
            for (int i=0; i++ < 267e3; )
            {
                Console.Write("\nNot ready yet");
                Threading.Thread.Sleep(1);
            }
            for ( ; ; )
                Console.Write("\nEat your hot dog");
        }
    }
}

वैकल्पिक रूप से, कार्यक्रम Not ready yetकेवल एक बार प्रदर्शित हो सकता है , निर्दिष्ट समय समाप्त होने तक प्रतीक्षा करें और फिर Eat your hot dogपिछले संदेश को ओवरराइट करके आउटपुट करें, जबकि कुछ बाइट्स छोटे होते हैं:

सी #, 145 बाइट्स

namespace System{class P{static void Main(){Console.Write("Not ready yet");Threading.Thread.Sleep(267000);Console.Write("\rEat your hot dog");}}}

अनप्लग्ड प्रोग्राम:

namespace System
{
    class P
    {
        static void Main()
        {
            Console.Write("Not ready yet");
            Threading.Thread.Sleep(267000);
            Console.Write("\rEat your hot dog");
        }
    }
}

एक दम बढ़िया। अगर मैं पहले से ही नहीं था, तो मैं आपको +1 दूंगा। ;)
raznagul

2

रूबी, 80 71 67 बाइट्स

संपादित करें: 13 बाइट्स को बंद करने के लिए मैनटवर्क का धन्यवाद

267.times{puts"Not ready yet"
sleep 1}
loop{puts"Eat your hot dog"}

क्यों नहीं 267.times{…}?
मैनटवर्क

वाह धन्यवाद। मैं अब गूंगा महसूस करता हूं।
BRFNGRNBWS 12

ऐसा लगता है कि आप CR / LF लाइन विभाजकों के साथ गिनती कर रहे हैं। जैसा कि रूबी केवल एलएफ की अनुमति देता है, हम केवल उसी की गिनती करते थे। और के बाद लाइन ब्रेक की कोई आवश्यकता नहीं है {। यह 67 बाइट्स परिणाम होगा।
मैनटवर्क

मैं रूबी में एक शुरुआत कर रहा हूँ, और कोड गोल्फिंग में कुल noob, इसलिए सभी मदद के लिए धन्यवाद!
BRFNGRNBWS

यदि आप इसे याद करते हैं, तो शुरुआती लोगों की मदद करने के लिए रूबी में गोल्फ के लिए टिप्स का एक संग्रह है।
१३:

2

05AB1E, 43 29 28 बाइट्स (अदनान के लिए धन्यवाद)

267F…€–Žä‡«ªw,}[“Eat€ž…ß‹·“,

ऑनलाइन काम नहीं करता है, क्योंकि यह समय से बाहर है। ऑफ़लाइन यह काम करेगा।

267F: 267 बार लूप

…€–Žä‡«ª: शब्दकोश के साथ पहला स्ट्रिंग

w,: एक सेकंड रुकें और प्रिंट करें

}[: लूप समाप्त करें और अनंत लूप शुरू करें

“Eat€ž…ß‹·“: शब्दकोश के साथ दूसरा स्ट्रिंग

,: प्रिंट करें


धन्यवाद, मेरे ग्राहक ने देखा कि यह कोड छोटा था और ऑफ़लाइन काम करता है - अब वह चाहता है कि मैं इस भाषा का उपयोग करके अपनी वेबसाइट लिखूं। । ।
पास्कल रासज़क

यह ऑनलाइन काम करता है, लेकिन ऑनलाइन दिए जाने वाले दुभाषिया पर नहीं। आप यहां
पी। नोप्स

मुझे पता है। यह एक मजाक था: डी।
पास्कल रासज़क

1
यह सिर्फ सामान्य तरीके से जवाब देने के लिए सबसे अच्छा है: डी
पी। नोप्स

“NotŽä‡«“द्वारा प्रतिस्थापित किया जा सकता है…€–Žä‡«ª
अदनान

1

अजगर, 115 बाइट्स

मेरा पहली बार कुछ इस तरह का प्रयास। मैं भी एक शुरुआत कर रहा हूँ तो यहाँ 115 बाइट्स के लिए पायथन 3 में जाता है:

import time
for i in range(267):
    time.sleep(1)
    print("Not ready yet")
while 1:
    print("Eat your hotdog")

3
साइट पर आपका स्वागत है! कोड गोल्फ का उद्देश्य आपकी भाषा में सबसे छोटा कोड लिखना है। कुछ चीजें हैं जिन्हें बेहतर बनाया जा सकता है और कुछ सुझावों के लिए मौजूदा पायथन विजेता को देखने के लिए यह चोट नहीं पहुंचा सकता है !

समय निकालें। स्लीप (1) - कुछ बाइट्स बचाता है
पास्कल रासज़क

@praszyk, तो 4 मिनट 27 सेकंड से अधिक तेजी से forलूपिंग खत्म कर देगा range(267)और समाधान अमान्य हो जाता है। ☹
manatwork

1

माइक्रो के लिए जावास्क्रिप्ट ब्लॉक संपादक: बिट, 90 बाइट्स

यहाँ छवि विवरण दर्ज करें

कोड:

basic.showString("Not ready yet")
basic.pause(254000)
basic.showString("Eat your hot dog")

आप इसे यहाँ आज़मा सकते हैं।

मेरे सूक्ष्म: बिट के साथ कार्य को हल करने के लिए स्क्रैच उत्तर से प्रेरित हुआ। एकमात्र समस्या यह है कि ठहराव-ब्लॉक पहली स्ट्रिंग के आउटपुट के बाद शुरू होता है, इसलिए मुझे 13 से रोकना कम करना होगा।

नोट: माइक्रो: बिट के लिए पुराना Microsoft ब्लॉक एडिटर बनाने के लिए कम है लेकिन अधिक कोड का उत्पादन करता है इसलिए वास्तव में लंबा है।


1

इस आधार पर कि ओपी लगातार हॉटडॉग चाहता है, समय के अंत तक - जिसे मैं वाक्यांश से समझता हूं:

इस समय के बीत जाने के बाद, आपको अपने हॉट डॉग को समय के अंत तक खाना चाहिए।

यह मेरा जवाब है:

सी ++, 187 188 224 167 बाइट्स

व्हाट्सएप हटाया (167 बाइट्स):

#include<stdio.h>
#include<windows.h>
int main(){for(;;){for(int x=0;x<267;x++){Sleep(1000);printf("Not ready yet");}Sleep(1000);printf("Eat your hot dog");}return 0;}

पठनीय रूप (224 बाइट्स):

#include <stdio.h>
#include <windows.h>

int main() {
  for( ; ; ){ 
    for(int x=0; x < 267; x++){
      Sleep(1000);
      printf("Not ready yet"); 
    }
    Sleep(1000);
    printf("Eat your hot dog");
  }
  return 0;
}

अगर दूसरी ओर, ओपी अपने गर्म कुत्तों को संयम में रखता है, तो यह मेरा जवाब है:

व्हाट्सएप हटाया (158 बाइट्स):

#include<stdio.h>
#include<windows.h>
int main(){for(int x=0;x<267;x++){Sleep(1000);printf("Not ready yet");}Sleep(1000);printf("Eat your hot dog");return 0;}

पठनीय रूप (198 बाइट्स):

#include <stdio.h>
#include <windows.h>

int main() {
  for(int x=0; x < 267; x++){
    Sleep(1000);
    printf("Not ready yet"); 
  }
  Sleep(1000);
  printf("Eat your hot dog");
  return 0;
}

क्या है delay?
क्वेंटिन

ठीक है, यह एक पुराना कार्य है। स्लीप (1000) के साथ प्रतिस्थापित
टॉम्बस

बाइट्स को बचाने के लिए आप व्हॉट्सएप के एक झुंड से छुटकारा पा सकते हैं। इसके अलावा, मैं 224 बाइट्स गिनता हूं, 188 नहीं।
हाइपरनीट्रीनो

@HyperNeutrino तुम सही हो - मैंने लाइन अंत को गिना लेकिन प्रमुख व्हाट्सएप नहीं। तदनुसार संपादित (क्षमा करें, मैं इस पर नया हूं!)
टॉम्बस

@ क्वेंटिन डिले () एक ऐसा फंक्शन है जिसकी मुझे आशा थी कि सीधे अर्डुइनो से उठाया जा सकता है ... यह पता चला कि मैं नहीं कर सकता! यह दिन में वापस dos.h लाइब्रेरी के हिस्से के रूप में मौजूद था, मैं समझता हूं।
समाधि

1

एक्सेल VBA, 82 बाइट्स

बेनामी VBE तुरंत विंडो फ़ंक्शन करता है जो कोई इनपुट नहीं लेता है और आउटपुट करता है कि आपको अपने हॉट डॉग को सेल में खाना चाहिए या नहीं [A1]

d=Now+#0:4:27#:Do:[A1]=IIf(Now<d,"Not ready yet","Eat your hot dog"):DoEvents:Loop

1
दिलचस्प है मुझे नहीं पता था कि आप प्रोग्राम को सीधे विंडो से चला सकते हैं
Stupid_Intern

1

एक्सेल VBA 122 94 बाइट्स

Sub p()
e=Now+#0:4:27#
Do
[a1]=IIf(Now<e,"Not ready yet","Eat your hot dog")
Loop
End Sub

धन्यवाद टेलर स्कॉट


आप इस घोल को काफी कम काट सकते हैं, CDate("00:04:28")इसे गाढ़ा किया जा सकता है #0:4:27#, आप अपने While ... Wendपाश को एक Do .. Loopलूप से बदल सकते हैं और आप अपने ifखंड को एक iifखंड के साथ बदल सकते हैं
टेलर स्कॉट


1
@TaylorScott क्या msgbox के लिए कोई विकल्प है?
स्टुपिड_इंटरटेन

1
@TaylorScott भी iif क्लॉज मेसेबॉक्स के साथ काम नहीं कर रहा है, मुझे यकीन नहीं है कि मैं क्यों और # 0: 4: 27 # ऑटोफार्माट्स को एक तारीख तक का समय नहीं दे रहा हूं, यदि आप चाहते हैं तो उत्तर को संपादित करने के लिए स्वतंत्र हैं
स्टुपिड_ऑन्टर

1
वास्तव में क्योंकि VBA में कोई STDIN या STDOUT नहीं है, इसलिए आपके लिए बहुत सारे विकल्प उपलब्ध हैं, जैसे VBE तुरंत विंडो और एक्सेल में कोशिकाओं के लिए, आप इसके बारे में अधिक कोडगुल्फ.स्टैकएक्ससीएक्स.com
टेलर स्कॉट

0

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

d=Date.now()
while(1)alert(Date.now()-d<267000?"Not ready yet":"Eat your hot dog"))

सभी के लिए अलर्ट!


1
आप एक बाइट 267000को बदल सकते हैं 267e3और बचा सकते हैं ।
पावेल्स

प्रश्न से: "आपको एक कार्यक्रम बनाना होगा"। यह एक कार्यक्रम या एक समारोह नहीं है, बल्कि एक स्निपेट है।
ल्यूक

7
यह एक कार्यक्रम है।
प्रोग्रामर

1
आप के new Dateस्थान पर Date.now()और कुछ अन्य का उपयोग करके कुछ बाइट्स बचा सकते हैंfor(d=new Date;;)alert...
ETHproductions

2
चेतावनी () कार्यक्रम को तब तक
रोकती है

0

पेरल, 76 बाइट्स

$|++;
for(1..247){print'Not ready yet';sleep 1};print "Eat your hot dog";for(;;){}

6
मैं 82 बाइट्स गिनता हूं।
ओलिवर

0

PHP 88 बाइट्स

<?$t=0;do{$t++;echo "Not ready yet";sleep(1);} while ($t<267);echo "Eat your hotdog";?>

1
"इस समय के बाद खत्म हो गया है, आप Eat your hot dogसमय के अंत तक उत्पादन करना चाहिए ।" तो आपको दूसरा मैसेज भी दोहराना होगा। यह इसकी लंबाई में जोड़ देगा, लेकिन सौभाग्य से इसे छोटा करने के लिए जगह है for($t=267;$t--;sleep(1))echo"Not ready yet";for(;;)echo"Eat your hotdog";:। वैसे, साथ चल रहे कोड php -rको स्वीकार किया जाता है, इसलिए PHP टैग (विशेष रूप से समापन नहीं, जिसे उस स्थिति में बुरी आदत माना जाता है, के लिए कोई ज़रूरत नहीं है: "समापन ?>टैग केवल PHP युक्त फ़ाइलों से छोड़ा जाना चाहिए" - PSR-2 )।
मैनटवर्क

1
@manatwork अनटाइटेड: फॉर ($ t = 267;; स्लीप (1)) इको $ t -> 0; "अभी तक तैयार नहीं": "अपना हॉटडॉग खाओ";
डायनेवला

दिलचस्प एक, @diynevala। प्रलेखन के अनुसार, “यदि पूर्णांक प्रकार की सीमा से परे PHP एक संख्या का सामना करती है, तो इसकी जगह एक फ्लोट के रूप में व्याख्या की जाएगी। इसके अलावा, एक ऑपरेशन जिसके परिणामस्वरूप पूर्णांक प्रकार की सीमा से परे एक संख्या होती है, इसके बजाय एक फ्लोट वापस आ जाएगा। " - पूर्णांक अतिप्रवाह , ताकि स्थिति समय के अंत तक सही ढंग से काम करे।
5

@manatwork 267 सेकंड के बाद भी आउटपुट के बीच 1 सेकंड के लिए सोता है।
डायनेवाला

0

आरईएक्सएक्स, 82 बाइट्स

do forever
if time(e)<267 then say 'Not ready yet'
else say 'Eat your hot dog'
end

0

जावा 7, 152 बाइट्स

void c(){for(long s=System.nanoTime(),e=s+(long)267e9;s<e;s=System.nanoTime())System.out.println("Not ready yet");System.out.print("Eat your hot dog");}

स्पष्टीकरण:

void c(){                                 // Method
  for(                                    //  Loop
      long s=System.nanoTime(),           //    Current time in nanoseconds as start
      e=s+(long)267e9;                    //    End time (267 seconds later)
      s<e;                                //    Loop as long as we haven't reached the end time
      s=System.nanoTime())                //    After every iteration get the new current time in nanoseconds
    System.out.println("Not ready yet");  //   Print "Not ready yet" as long as we loop
                                          //  End of loop (implicit / single-line body)
  System.out.print("Eat your hot dog");   //  Print "Eat your hot dog"
}                                         // End of method

0

पीएचपी, 68 बाइट्स

for($t=268;$t--;sleep(1))echo$t?"Not ready yet←":"Eat your hot dog";

निरंतर उत्पादन; ASCII 10 = LF है। के साथ चला -r

एक बार का उत्पादन, 50 बाइट्स

Not ready yet<?sleep(267);echo"←Eat your hot dog";

जहाँ ASCII 13 = CR है। फ़ाइल को बचाने या चलाने के लिए पाइपिंग का उपयोग करें।


0

आरबीएक्स.लुआ , 69 बाइट्स

for i=1,267 do print"Not ready yet"Wait(1)end;print"Eat your hot dog"

RBX.Lua पर इस्तेमाल भाषा है ROBLOX.com । यह Lua 5.1 का एक संशोधित संस्करण है जिसमें एक निर्मित 'प्रतीक्षा' फ़ंक्शन है। उपरोक्त कोड बहुत आत्म-व्याख्यात्मक है, नीचे एक अधिक पठनीय संस्करण है:

for i = 1, 267 do
    print("Not ready yet");
    Wait(1);
end

print("Eat your hot dog");

कोड "आउटपुट के लिए अभी तक तैयार नहीं है" STDOUT में , 267 सेकंड (4 मिनट 27 सेकंड) के लिए "अपने हॉट डॉग को खाएं" आउटपुट से पहले।


0

सी - 130 बाइट्स

यह थोड़ा कम (128bytes) हो सकता है, लेकिन मैंने सोचा कि यह "अभी तक तैयार नहीं" को अधिलेखित करने के लिए है।

#include<stdio.h>
#include<unistd.h>
int main(){printf("Not ready yet");fflush(stdout);sleep(267);printf("\rEat your hot dog\n");}

साइट पर आपका स्वागत है! आप इसे छोड़ सकते हैं #include<unistd.h>(यह एक चेतावनी का उत्सर्जन करेगा लेकिन फिर भी संकलन करेगा)। जैसा कि आप करते हैं (पिछले संदेश को लिखना) आपका अधिकार है, लेकिन चूंकि चुनौती वास्तव में इसके लिए नहीं पूछती है, इसलिए मैं सुझाव दूंगा कि ऐसा न करें। यह आपको करने की अनुमति देगा int main(){puts("Not ready yet");sleep(267);puts("Eat your hot dog");}(जिसमें शामिल नहीं हैं, उनकी आवश्यकता नहीं है) - लेकिन यह करने के लिए कोई दायित्व नहीं है।
दादा


-1

पायथन 2.7, 90 88 बाइट्स

import time;exec"print'Not ready yet';time.sleep(1);"*267;while 1:print"Eat your hotdog"

मुझे ऐसा क्यों नहीं मिलता कि किसी ने मेरा जवाब दिया हो। कुछ 1 समझा सकते हैं? :(
कोइशोर रॉय
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.