핫도그 요리 해! [닫은]


13

때때로 나는 내가 핫도그를 원한다는 것을 알게되고 (우리 모두는 아님) 그래서 나는 하나를 만든다. 이제 핫도그를 만들려면 매우 간단합니다.

1) 핫도그를 끓는 물에 넣으십시오.

2) 일정 시간 기다립니다 (자세한 내용은 아래 참조).

3) 시간이 지나면 핫도그를 먹는다.

내가 말한 것을 눈치 채 셨을 것입니다

특정 시간 (아래에 자세히 설명)

그래서 자세히 설명하겠습니다.

많은 브랜드마다 핫도그를 요리하는 데 걸리는 시간에 대한 여러 가지 권장 사항이 있지만 정확히 4 분 27 초 동안 요리하는 것이 가장 좋습니다 (요청하지 마십시오). 나는 많은 다른 타이머를 시도했지만 지속적으로 출력되는 프로그램이 내 관심을 끄는 가장 좋은 방법이라는 것을 알았습니다.

당신의 임무

Not ready yet정확히 4 분 27 초 동안 메시지 를 출력하는 프로그램을 만들어야합니다 . 이 시간이 소진 된 후 시간이 끝날 Eat your hot dog때까지 출력해야합니다 . 입력하지 마십시오.

이기는 방법

이기 때문에 가장 짧은 코드를 바이트 단위 로 작성해야합니다.



1
Legen에 매우 가깝다 . .. 또한.
manatwork

유일한 차이점은이 도전이 기다리는 프로그램을 필요로한다는 것이다 특정의 시간의 양
user41805

8
인터벌이 끝날 때까지 계속해서 "준비 안 됨"을 계속 Not ready yet\nNot ready yet\n...출력해야합니까 ( ) 아니면 한 번만 출력하고 4m 27s가 끝나면 출력을 변경할 수 있습니까?
user41805

1
죄송합니다. 지난 2 일 동안 핫도그를 먹으라고 상기시켜주었습니다 ...
Neil

답변:


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 바이트가 걸립니다. 또한 Hñähñu (Mezquital Otomi) 에서는 영어 대신 8 바이트 (영원하지 않음 )만큼 짧아서 77 바이트에 불과합니다.
Tim


@Tim 덕분에 녹색 깃발이 작동하지 않는 것 같습니다.
Okx

사실 그것은 웹 사이트의 공식 번역에서 나왔으므로 잘못 렌더링하는 버그입니다.
Tim

@Tim 그린 플래그 블록이 아직 구현되지 않았을 수도 있습니다 (번역은 여전히 ​​번역을 번역하지만). 또한 공식 스크래치에는 Hñähñu 언어가 없습니다.
Outgolfer Erik

14

배쉬 + 코어 유틸리티, 50

timeout 267 yes Not ready yet
yes Eat your hot dog

설명

상당히 자기 설명 적이지만 생각할 수 있습니다.

  • yescoreutil 계속 반복 명령 라인에 전달하는 매개 변수를 출력
  • timeoutcoreutil은 명령 뒤에 숫자 timeout 파라미터 걸린다. 명령이 실행 된 후 지정된 시간 종료 후 종료됩니다.

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

자바 스크립트 ES6, 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())();


settimeout을하고 바이트를 저장할 수는 없습니까?
user1910744

setTimeout기능을 한 번만 실행합니다. 문제는 문자열을 지속적으로 출력하는 setTimeout것이므로 유효하지 않습니다.
Luke

(--_?(--_>0? (-2) 대신 작동
dandavis

불행히도, _어떤 것이 인쇄 될 때마다 감소 하지 않으므로 0 아래로 떨어질 것입니다. 모든 음의 정수는 정확하기 때문에 인쇄 'Not ready yet'할 수도 있습니다 (원하는 것은 아닙니다).
Luke

7

Powershell, 85 71 59 바이트

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

아마도 더 좋은 방법이있을 것이므로 비판을 환영합니다! 이것은 나의 첫번째 골프 시도이다 :)

편집 아래로 전체 14 AdmBorkBork 덕분에 바이트! 그리고 기억해야 할 기술!

편집 2 Matt 덕분에 또 다른 12 바이트가 사라졌습니다. 쓰기를 두 번 호출하지 않으면 2 공백이 제거되어 매우 유용합니다!


1
PPCG에 오신 것을 환영합니다! 다른 PowerSheller를 만나서 반갑습니다. 쉬운 골프 루프 여러 번 고정 된 수의 실행하는 것입니다 1..276|%{}대신 for증분와 루프를. 해당 페이지의 다른 팁도 확인하십시오!
AdmBorkBork

기본적으로 문자열이 표준 출력으로 전송됩니다. write-outputcmdlet 으로 지정할 필요가 없습니다 .
Matt

7

Nuclear Throne Together 모드에서 사용되는 GameMaker의 스크립팅 언어 변형, 68 바이트

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

설명

  • GML 파서는 맛있게 용서합니다. 세미콜론 괄호는 선택 사항이며, 컴파일러는 모든 기본적인 규칙을 외부에서 간격에 대해 우려에 있지 ( 0while파싱으로 0, while때문에 괜찮습니다)
  • var(JS와 동일)를 통해 선언하지 않으면 변수가 실행 컨텍스트로 누출됩니다 .
  • NTT에 사용 된 GML 변형 wait은 실행중인 "마이크로 스레드"를 지정된 수의 프레임에 대한 목록으로 푸시하고 나중에 다시 시작 하는 연산자를 도입합니다 . 코 루틴, 기본적으로

    게임은 30fps로 클럭되므로 4m27s == 267s == 8010 프레임입니다.

  • trace ()는 주어진 문자열을 채팅으로 출력합니다.

videogame + mod가 설치되어 있으면이를 일부로 저장 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

@ovs while 1:print['Eat your hot dog','Not ready yet'][time()-t<267]도 90입니다 (더 명확하고 여분의 공백을 인쇄하지는 않음).
Jonathan Allan

3

TI 기본, 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 1 초 시간 초과가 허용됩니다.


2

C # 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);}};

Ungolfed 전체 프로그램 :

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)몇 바이트를 절약하는 것과 같은 것을 시도하십시오 .
adrianmp

1
@adrianmp : 여전히 i밀리 초마다 증가하므로 작동하지 않습니다 . 그리고 일단 int.MaxValue도달하면 프로그램이 중단되거나 다시 인쇄를 시작 Not ready yet합니다.
raznagul

오버플로를 크게 지연 (또는 몇 바이트의 비용으로 완화) 하여이 문제를 해결할 수있었습니다. 나는 당신의 대답에서 몇 가지 아이디어를 "빌려"왔습니다. 감사!
adrianmp

2

C #을 174 172 147 바이트

raznagul의 C # 답변 에서 일부 아이디어를 "빌리기" 하여 첫 n 개의 숫자 를 합하여 25 바이트를 절약 했습니다!

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 + 1) / 2되므로이 숫자를 첫 번째 n 개의 자연수의 텔레스코픽 합계로 간주 할 수 있으며 이는 267000 밀리 초와 같아야합니다.

이는에 해당합니다 n^2 + n - 534000 = 0.

이 2 차 방정식을 풀어서 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내부 와 같이 오버플로가 발생할 때 730보다 큰 양수 값을 할당하여 문제를 감지하고 완화하기위한 조건을 추가 할 수 있습니다 for. 안타깝게도 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 프레임 워크)의 최대 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 백만 년이 지나면 핫도그, 굶주린 OP 및 인류 자체가 오랫동안 사라진 시스템의 결함이 나타나는 것이 중요하지 않을 수 있습니다.


이전 버전 (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이전 메시지를 덮어 써서 몇 바이트 더 짧아서 출력 할 수 있습니다.

C #, 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 2016

2

루비, 80 71 67 바이트

편집 : 13 바이트를 깎아 준 manatwork 덕분에

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

왜 안돼 267.times{…}?
manatwork

와우 감사합니다. 지금 바보 같아
BRFNGRNBWS

CR / LF 줄 구분 기호로 계산하는 것 같습니다. 루비는 LF 만 허용하므로, 우리는 이것을 셉니다. 그리고 후에 줄 바꿈이 필요하지 않습니다 {. 결과적으로 67 바이트가됩니다.
manatwork

저는 Ruby의 초보자이며 코드 골프에 대한 멍청한 놈입니다. 모든 도움에 감사드립니다!
BRFNGRNBWS

당신이 그것을 놓친 경우, 초보자를 돕기 위해 루비 골프 팁 모음이 있습니다.
manatwork

2

05AB1E, 43 29 28 바이트 (Adnan에게 감사)

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

시간이 초과되어 온라인에서 작동하지 않습니다. 오프라인으로 작동합니다.

267F: 267 회 반복

…€–Žä‡«ª: 사전이있는 첫 번째 문자열

w,: 1 초 정도 기다렸다가 인쇄

}[: if 루프를 종료하고 무한 루프를 시작

“Eat€ž…ß‹·“: 사전이있는 두 번째 문자열

,: 인쇄


고맙게도, 내 고객은이 코드가 짧고 오프라인에서 작동하는 것을 보았습니다. 이제이 언어를 사용하여 웹 사이트를 작성하고 싶습니다. . .
Pascal Raszyk

온라인에서 작동하지만 온라인으로 제공되는 통역사는 작동하지 않습니다. 당신은 여기
P. Knops

알아. 농담이었다 : D.
Pascal Raszyk

1
일반적인 방법으로 대답하는 것이 가장 좋습니다 : D
P. Knops

“NotŽä‡«“…€–Žä‡«ª
Adnan

1

파이썬, 115 바이트

이런 식으로 처음 시도했습니다. 나는 또한 초보자이므로 여기에 파이썬 3에서 115 바이트가됩니다.

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

3
사이트에 오신 것을 환영합니다! 코드 골프의 목표는 귀하의 언어로 가능한 가장 짧은 코드를 작성하는 것입니다. 개선 할 수있는 몇 가지 사항이 있으며 현재 Python 우승자 를 살펴보면 몇 가지 팁을 얻을 수 있습니다!

time.sleep (1) 제거-몇 바이트 절약
Pascal Raszyk

@ praszyk, 그러면 4 분 27 초보다 훨씬 빠르게 for루핑이 끝나고 range(267)솔루션이 유효하지 않게됩니다. ☹
manatwork

1

마이크로 비트 용 JavaScript 블록 편집기, 90 바이트

여기에 이미지 설명을 입력하십시오

코드:

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

여기서 시도해보십시오.

내 마이크로 : 비트로 작업을 해결하기 위해 스크래치 답변에서 영감을 얻었습니다. 유일한 문제는 첫 번째 문자열을 출력 한 후 일시 중지 블록이 시작되어 일시 중지를 13 초 줄여야한다는 것입니다.

참고 : 이전의 마이크로 비트 용 Microsoft 블록 편집기는 생성 시간이 짧지 만 더 많은 코드를 생성하므로 실제로는 더 길어집니다.


1

OP가 시간이 끝날 때까지 지속적으로 핫도그를 원한다는 점을 바탕으로-나는 문구에서 이해합니다.

이 시간이 지워진 후 시간이 끝날 때까지 핫도그를 먹으십시오.

이것은 내 대답입니다.

C ++, 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;
}

반면에 OP가 적당히 핫도그를 즐긴다면 이것이 내 대답입니다.

공백 제거 (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?
Quentin

예, 그것은 오래된 기능입니다. Sleep (1000)으로 교체
Tombas

바이트를 절약하기 위해 많은 공백을 제거 할 수 있습니다. 또한 188이 아닌 224 바이트를 계산합니다.
HyperNeutrino

@HyperNeutrino 당신이 맞아요-줄 끝을 세었지만 공백을 앞 세우지 않았습니다. 그에 따라 편집 (미안하지만 나는이 새로운!)
Tombas

@Quentin delay ()은 Arduino에서 곧바로 들어 올릴 수 있기를 희망하는 함수입니다 ... 그것은 dos.h 라이브러리의 일부로 당시에 존재했습니다.
Tombas

1

Excel 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

Excel 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조항을 조항으로 대체 할 수 있습니다
Taylor Scott

@TaylorScott 예 감사합니다 :)
Stupid_Intern

1
@TaylorScott msgbox에 대한 대안이 있습니까?
Stupid_Intern

1
@TaylorScott 또한 iif 절이 msgbox와 함께 작동하지 않습니다. 왜 그런지 모르겠지만 # 0 : 4 : 27 # 자동
포맷

1
실제로 VBA에는 STDIN 또는 STDOUT이 없기 때문에 VBE 즉시 실행 창 및 Excel의 셀과 같은 많은 옵션을 사용할 수 있습니다. codegolf.stackexchange.com/a/107216/ 61846
Taylor Scott

0

자바 스크립트, 83 바이트

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

모두를위한 Alertz!


1
당신은 변경할 수 있습니다 267000267e3와 바이트를 저장합니다.
powelles

질문에서 : "프로그램을 만들어야합니다". 이것은 프로그램이나 함수가 아니라 스 니펫입니다.
Luke

7
이것은 프로그램입니다.
programmer5000

1
new Date대신에 몇 바이트를 사용 Date.now()하고 다른 몇 바이트를 사용하여 다른 바이트를 절약 할 수 있습니다.for(d=new Date;;)alert...
ETHproductions

2
alert ()은 사용자가 닫히고 챌린지 입력이 금지 될 때까지 프로그램을 중지합니다.
dandavis

0

PERL, 76 바이트

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

6
82 바이트를 셉니다.
Oliver

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 ).
manatwork

1
@manatwork 테스트되지 않은 : for ($ t = 267 ;; sleep (1)) echo $ t-> 0? "아직 준비되지 않았습니다": "핫도그 먹기";
diynevala

재미있는 것, @diynevala. 문서에 따르면,“PHP가 정수 유형의 범위를 벗어나는 숫자를 만나면 대신 float로 해석됩니다. 또한 정수형의 범위를 넘어서 숫자를 생성하는 연산은 대신 부동 소수점을 반환합니다.” – 정수 오버 플로우 - 조건이 끝날 때까지 올바르게 작동해야합니다.
manatwork

@manatwork 또한 267 초 후에도 출력간에 1 초 동안 휴면 상태가됩니다.
diynevala

0

REXX, 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

PHP, 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

RBX.Lua , 69 바이트

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

RBX.Lua는에 사용되는 언어입니다 ROBLOX.com . 빌트인 'Wait'기능을 갖춘 Lua 5.1 의 수정 된 버전입니다 . 위의 코드는 매우 자명하며 아래는 더 읽기 쉬운 버전입니다.

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

print("Eat your hot dog");

"Eat your hot dog"를 출력하기 전에 코드는 "아직 준비되지 않음"을 STDOUT 에 267 초 (4 분 27 초) 동안 계속 출력합니다.


0

C-130 바이트

약간 짧을 수 있지만 (128 바이트) "아직 준비되지 않았습니다"를 덮어 쓰는 것이 더 필요하다고 생각

#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");}(포함하지 않고 그것들은 필요하지 않습니다)-물론 그것을 할 의무는 없습니다.
Dada


-1

파이썬 2.7, 90 88 바이트

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

왜 누군가가 내 대답을 -1했는지 모르겠습니다. some1 설명 할 수 있습니까? :(
Koishore Roy
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.