세상을 구하는 자동화


63

당신은 데스몬드 ume입니다. 지난 3 년간 귀하와 파트너 인 Kelvin은 세상을 구하기 위해 108 분마다 매우 특정한 순서를 입력해야하는 컴퓨터의 노예였습니다.

4 8 15 16 23 42

당신의 파트너는 40 일 전에 죽었습니다 (켈빈의 머리와 큰 바위와 관련된 불행한 사고로 인해). 아무도 당신을 위해 숫자를 입력 할 수 없습니다. 단조 로움을 깨는 사람은 없습니다. 처음에는 그다지 나쁘지 않았지만 더 이상 침묵을 다룰 수는 없습니다. "음악 만들기"를 한 번 더 들어야하면 비명을 지르게됩니다.

나가야한다고 결정합니다. 탈출. 뗏목을 만들고 섬을 항해하기로 결정했습니다. 그러나 당신은 나쁜 소식을 알고 있습니다 : 당신은 여기에 갇혀 있습니다. 세상을 계속 구해야합니다.

그러나 당신은 좋은 소식을 알게됩니다. 당신은 프로그래머입니다! 세상을 구하는 것을 자동화 할 수 있습니다! 흥분, 당신은 컴퓨터를 통해 실행하고, 신뢰할 수있는 파이썬 기술을 사용하여, 당신을 위해 숫자를 입력하는 빠른 스크립트를 채찍질.

import time

while True:
    print "4 8 15 16 23 42"
    time.sleep(60 * 107)

빠르고 간단하며 신뢰할 수 있으며 짧고 쉽습니다. 좋은 파이썬 스크립트가 있어야 할 모든 것. 그러나 테스트하려고하면 오류가 발생합니다.

Bad command or file name.

허, 이상하다. 오, C ++을 사용 해보자.

#include <iostream>
#include <unistd.h> 

int main()
{
    while (true)
    {
        std::cout << "4 8 15 16 23 42" << std::endl;
        sleep(60 * 107);
    }
}

아니! C ++도 찾을 수 없습니다. 당신은 당신이 생각할 수있는 모든 언어를 시도합니다. 자바 스크립트, 루비, 펄, PHP, C #. 아무것도. 이 컴퓨터는 오늘날 인기있는 모든 언어 이전에 만들어졌습니다.

도전

다음과 같은 프로그램을 작성해야합니다.

1) 정확히 다음과 같이 인쇄하십시오 : "4 8 15 16 23 42"(따옴표없이)

2) 104 ~ 108 분 정도 기다리십시오. ( 잃어버린 위키 에 따르면 )

3) 영원히 반복하십시오. (또는 이것이 모두 정교한 사기라는 것을 깨닫고 게으른 글로 인해 이상한 림보에 빠져 있고 답이없는 질문을합니다. JJ Abrams에게 감사합니다!)

그러나 캐치가 있습니다. 스완 스테이션의 컴퓨터가 실제로 실행할 수있는 언어를 사용해야합니다. 그것을 가정

A) 컴퓨터는 시공 당시의 최신 상태였습니다.

B) 컴퓨터 소프트웨어에 대한 업데이트가 없었으며

C) 인터넷에 연결되어 있지 않습니다 (Golfscript를 다운로드 할 수 없음을 의미 함).

The Swan Station의 건설 날짜를 가장 정확하게 추측합니다 (다시, The Lost Wiki. )

즉, 1977 년 12 월 31 일 또는 그 이전에 처음 릴리스 된 언어를 사용해야합니다.


몇 가지 규칙 설명 :

  • 라이브러리를 포함해도 괜찮지 만 동일한 규칙이 적용됩니다 (라이브러리는 1977 년 이전이어야합니다).

  • OS 호환성에 대해 걱정할 필요가 없습니다.

  • 당신이 사용하는 경우 system, 또는 언어에 해당하는, 당신은 있어야 모든 시스템은 당신이 1978 년 전에 위키 피 디아 문서는 아마 이것을 증명하는 가장 좋은 방법입니다 가능했을 것이다 사용 명령 있음을 증명한다.

  • 인쇄와 수면이 번갈아 나타나는 한 프로그램을 시작할 때는 중요하지 않습니다. (sleep-print-sleep-print ... 및 sleep-print-sleep-print ...는 모두 허용됩니다.)

이것은 Code-Golf이므로 바이트 단위의 최단 답변이 이깁니다.


각 출력 끝에 줄 바꿈이 필요합니까?
Mego

3
@Mego 예, 그렇지 않으면 숫자가 실제로 입력 되지 않습니다 .
DJMcMayhem

답변:


11

APL , 28 24 25 24 바이트

이는 STSC의 APL * PLUS 및 1977 년의 IPSA의 SharpAPL에서 작동했으며, 최신 APL에는 수많은 새로운 기능이 있지만 오늘날에도 모든 주요 APL에서 작동합니다.

+\4 4 7 1 7 19
→×⎕DL 6360

첫 번째 줄은 표시된 숫자의 누적 합계 (필수)를 인쇄합니다. 두번째 라인 차원 전자 AYS 6,360초 (106분)는 그 부호 요소를 (1, 명백하게) 소요되며, 그 라인을 이동 (즉, 이전의 다수 인자 하나).

그러나 1966의 APL \ 360 ( IBM System / 360 의 APL )은 실제로 1 바이트 ( 무료 IBM / 370 에뮬레이터 에서 테스트 됨)를 이깁니다 .

+\4 4 7 1 7 19
5⌶19E5
→1

슬립 I 빔 ( " IBM은 "-를 얻기)의 대기 시간이 소요 의 jiffies1 / 300 번째 초를 그래서 우리는 19 × 10 개 기다려 5 의 jiffies = 1백5분 33 1 / 3 초.


지금부터 모든 시간 측정을 킬로 지피와 메가 지피로 제공하고 있습니다.
Pavel

+\⎕A⍳'EEHBHT'(if ⎕IO=0)
ngn

@ngn APL * PLUS에는 없습니다 ⎕A.
Adám

@ Adám +\4 4 7 1 7 19?
ngn

@ Adám ping ^
ngn

26

MUMPS-1966 년경 30 자 (1977 년 ANSI 표준 최초)

코드 골프에 대한 나의 첫 번째 시도, 우리는 간다!

f  w "4 8 15 16 23 42" h 6420

MUMPS는 여전히 보스턴의 매사추세츠 종합 병원에서 만든 EHR 소프트웨어의 인기 언어입니다. 가장 알려진 구현은 WI의 베로나에있는 Epic Systems입니다.


6
잘 했어! MUMPS는 실제로 당신이 지옥의 특정 원을 입력하려는 경우 코드 골프에 이상적입니다.

2
세상이 위태로워지면 시작에 "U 0"을 넣을 수도 있습니다.
psr

5
@psr, 더 중요한 것은 : 세상을 구하거나 코드 골프?
Andrew Robinson

2
@psr 이전에 MUMPS에 대해 들어 본 적이없는 사람에게 농담을 설명해 주시겠습니까? 내가 아니라, 단지 .. MUMPS에 대해 듣지 못한 사람이 이것을 우연히 발견 한 경우. ;)
DJMcMayhem

3
@DJMcMayhem-쓰기 명령문 ( "W")은 현재 출력 장치에 기록합니다 (어떤 장치가 현재 아이디어인지에 상관없이 전역 값을 가짐). 현재 장치는 아마도 표준 출력 이 것입니다. 그러나 U 0은 표준 출력으로 설정합니다.
psr

20

TECO, 53 바이트

TECO (Text [이전 테이프] Editor and Corrector)는 1962 년에 시작된 텍스트 편집기입니다. 또한 독립 실행 형 프로그램을 실행하는 데 사용할 수도 있습니다. PDP, VAXen 등을위한 최첨단 편집기입니다.

TECO 매뉴얼에 따르면이 ^H명령은 시간을 제공합니다. 기계에 따라 시간 단위가 다를 수 있으므로 운영 체제 및 전원 공급 장치를 확인하십시오.

OS/8:      ^H = 0
RT-11:     ^H = (seconds since midnight)/2
RSTS/E:    ^H = minutes until midnight
RSX-11:    ^H = (seconds since midnight)/2
VAX/VMS:   ^H = (seconds since midnight)/2
TOPS-10:   ^H = 60ths of a second since midnight
(or 50ths of a second where 50 Hz power is used)

다음 프로그램은 시간이 초 단위로 측정되는 시스템에서 작동합니다.

I4 8 15 16 23 42
$<HT^HUA<^H-QAUDQD"L43200%D'QD-3180;>>

즉 주 ^H$타격 각각 CONTROL-H 및 ESCAPE가 입력되어야한다.

프로그램의 숫자는 다음 기계에 맞게 조정할 수 있습니다.

   (number)        43200     3180
RSTS/E              1440      106
TOPS-10 60 Hz    5184000   381600
TOPS-10 50 Hz    4320000   318000
OS/8             goodbye, world...

20

Bourne 쉘, 47 45 바이트

while echo 4 8 15 16 23 42;do sleep 6420;done

2
나를 이길. 당시에 sleep사용 가능한 증거를 찾으려고 노력 하고 있었습니까? en.wikipedia.org/wiki/…
디지털 외상

당신은 사용할 수 sleep는 AS while조건. 2 바이트 절약
ThinkChaos

@plg 허용되지 않는 숫자 시퀀스 출력 하기 전에 휴면 상태 가됩니다 (프로그램을 실행 한 직후 시퀀스를 인쇄 한 다음 휴면 상태 여야 함 ).
Doorknob

5
마지막으로 숫자를 수동으로 입력 한 직후에 프로그램을 시작하십시오. ;)
Roger

1
유닉스 버전 6에는 sleep 명령이 포함되었습니다 ( man.cat-v.org/unix-6th/1/sleep 참조 ).
Matteo Italia


13

포트란 66 ( 108 98 바이트)

      PROGRAM D 
2     WRITE (*,*) '4 8 15 16 23 42'
      CALL SLEEP(6420)
      GOTO 2
      END

문제의 컴퓨터가 시대의 과학 및 공학 분야를 지배했기 때문에 FORTRAN 컴파일러가 있었을 것입니다. 나는 시조 18 년 후 태어 났지만 대학에서 수학 프로그램을 진행하는 동안 FORTRAN을 배웠습니다. 펀칭 카드 프로그래밍 방법을 배운 재미있는 강의입니다. 여기에서 올바르게 형식을 지정하는 것은 쉽지 않습니다. 각 명령 앞에 6 개의 공백이 있어야하며 Fortran 77의 절전 기능에 대한 참조 만 찾을 수 있지만 Fortran IV 및 66에는 이미 존재해야합니다.

추신 : 레이블 42 대신 레이블 1을 사용하여 1 바이트를 스크랩 할 수 있습니다.

PPS : 문제의 컴퓨터가 프로그램 입력에 펀칭 카드를 사용하면 운이 나쁘고 바이트는 더 이상 중요하지 않습니다.


@proudhaskeller 아니오, 왼쪽 7 열은 예약되어 있으므로 4 행의 끝에 1 바이트 만 저장합니다.
frodoskywalker

1
정확히, 나는 그것을 바꾸지 않은 1 바이트 만 안전합니다.)
Bersaelor

3
아, 필수 공백은 내 눈에 그리운 눈물을
흘린다

당신은 대체하여 바이트를 면도 할 수 60*10780**2도.
마크

그래도 6420 만 사용할 수 있습니다.
Bersaelor


10

알테어 베이직

확실히 Desmond와 Kelvin은 재미를 위해 Altair 8800 (또는 에뮬레이터)을 가지고 있었을 것입니다. Altair Basic (Bill Gates라는 일부 사람, Micro-Soft라고하는 작은 두 사람의 스타트 업)은 1975 년 출시를 맞이했습니다.

Desmond는 내부를 보장하기 위해 약간의 미세 조정이 필요합니다. FOR 루프가 1 분 동안 지속 . 당시에는 모두 바쁜 루프가 잘못되었다는 것을 알고 있었지만 모두 사용했습니다!

1 REM ADJUST "D" AS REQUIRED
2 LET D = 1000
3 PRINT "4 8 15 16 23 42"
4 FOR A = 0 TO 105 * 60
5 REM THIS LOOP SHOULD LAST ONE MINUTE +/- 0.05 SECONDS
6 FOR B = 0 TO D
7 LET C = ATN(0.25)
8 NEXT
9 NEXT
10 GOTO 3

대안으로 Desmond는 88-RTC 보드를 설치할 수 있습니다 (구성 요소로 조립! http://www.classiccmp.org/altair32/pdf/88-virtc.pdf를 ) 및 실시간 시계가 도망에 인터럽트를 통해 액세스 할 수 전력선 또는 내부 결정.

그는 클록 입력을 처리하기 위해 인터럽트 루틴을 작성해야하는데, 이는 59 초마다 1 초 동안 접지 된 다음 포트를 업데이트 한 다음 포트를 업데이트 할 수있다.

Altair Basic에는 WAIT기능이 있으므로 코드가 다음과 같이 단순화되었습니다 (포트 목록을 찾을 수 없으므로 사용하지 않기를 희망하면서 125를 선택했습니다).

1 PRINT "4 8 15 16 23 42"
2 FOR A = 0 TO 105 * 60
3 WAIT 125,0
4 WAIT 125,255
5 NEXT
6 GOTO 1

이것은 실제로 약간의 기초적인 컴퓨터로 돌아가는 재미있는 작은 질문이었습니다. 그 나이든 사람들 (나를 포함하여)은 인내심을 가져야했습니다!


2
아, 바쁘다 ... +1
Geobits

4
흠, Desmond, Altair ... 우연히 "Ezio"라는 언어가 있습니까?
Kroltan

10

Unix 시스템 용 PDP-11 어셈블러 6-73 68 74 자

70 년대에 관해 이야기 할 때, 유닉스와 그것이 시작된 하드웨어를 반드시 존중해야합니다!

s:mov $1,r0
sys write;m;18
mov $6240.,r0
sys 43
br s
m:<4 8 15 16 23 42;>

여기에서 쉽게 실행할 수 있습니다 (그러나 먼저 ed텍스트를 삽입하는 데 사용하는 즐거움을 재발견해야 합니다-특정 경우에는 실제로 텍스트를 편집 하는 방법을 찾아야 했습니다 :)).

조립하면 108 바이트가됩니다.

# cat mini.as
s:mov $1,r0
sys write;m;18
mov $6240.,r0
sys 43
br s
m:<4 8 15 16 23 42;>
# as mini.as
# ls -l a.out mini.as
-rwxrwxrwx  1 root      108 Oct 10 12:36 a.out
-rw-rw-rw-  1 root       74 Oct 10 12:36 mini.as
# od -h a.out
0000000 0107 0022 0000 0000 0018 0000 0000 0000
0000020 15c0 0001 8904 0012 0010 15c0 0004 8923
0000040 01f7 2034 2038 3531 3120 2036 3332 3420
0000060 3b32 0000 0000 0000 0002 0000 0000 0000
0000100 0000
0000120 0000 0000 0073 0000 0000 0000 0002 0000
0000140 006d 0000 0000 0000 0002 0012
0000154 
# ./a.out
4 8 15 16 23 42;

1
적은 문자 2 개에 대해 \ n을 제거하면 별도의 줄에 있어야한다고 말하지 않았습니다. :)
Andrew Robinson

@AndrewRobinson : 약간 불공평 한 것 같습니다. 다음에 나오는 모든 출력은 42와 함께 4를 버립니다. 대신 세미콜론으로 \ n (2 문자)을 변경할 수 있습니다. 또한, msg낭비입니다 m(다른 4 바이트 면도).
Matteo Italia

1
br대신 에을 (를) 사용하여 편지와 지시 단어를 저장 jmp하겠습니까? 또한, 쓰기에는 r0의 파일 디스크립터가 필요합니다. 첫 번째 루프에 대해 1 (또는 2)의 파일 디스크립터가있는 것 같습니다.
Random832

@ Random832 : 으아 아, 아마도 1 또는 2를 수면 시간으로 사용하여 작동했는지 빨리 시험했기 때문에 테스트했을 때 효과가 있었을 것입니다. [정보 수정 br, 하나와 다른 트릭 (주로 공백에 절단 가능한 진수 사용하여) 우리는 심지어 첫 번째 추가 74 개 캐릭터에 도착을 덕분에 mov.
Matteo Italia

8

LOGO, 61 바이트 (아마도) 또는 48 바이트 (아마도)

불행히도 BBN 의 LOGO System : Preliminary Manual (1967) 또는 MIT Logo Group (1960 년대 이상) 의 온라인 사본을 찾지 못했습니다 . LCSI의 Apple 로고는 너무 최근입니다 (~ 1980). 그러나 온라인 서적을 바탕으로 다음과 같은 변형이있을 수 있습니다. WAIT 60은 60이 아니라 1 초 동안 기다립니다.

TO a
LABEL "l
PRINT [4 8 15 16 23 42]
WAIT 381600
GO "l
END
a

테일 콜 최적화로 조금 더 나아질 수 있지만, 당시에는 불가능했을 것입니다.

TO a
PRINT [4 8 15 16 23 42]
WAIT 381600
a
END
a

3
당시에는 TCO를 사용할 수있었습니다. (예, 경험을 알고 있습니다.) TCO는 Lisp의 표준이었고 그 다음에는 체계입니다. 최근에야 이국적인 것으로 여겨졌습니다.
rici

7

CBM BASIC 1.0, 52 38 자, 45 31 바이트로 토큰 화됨

1?"4 8 15 16 23 42":fOa=1to185^3:nE:rU

CBM BASIC 1.0은 1977 년 10 월 Commodore PET와 함께 도입되었습니다. 명령은 일반적으로 대문자와 CBM 그래픽 문자로 표시되지만 편의를 위해 여기에 소문자 + 대문자로 표시했습니다 (내와 당신 모두! :-) ). 또한 ^는 실제로 ↑로 표시됩니다. 이것을 토큰 화하면 다음과 LIST같은 결과가 나타납니다.

1 PRINT "4 8 15 16 23 42":FOR A=1 TO 185^3:NEXT:RUN

PET의 6502는 1MHz에서 실행되었으므로 완료하는 데 약 105 분 정도 걸립니다.

편집 : 중첩 루프가 실제로 필요하지 않다는 것을 알고 토큰을 잘못 계산했습니다. 여전히 승리하기에는 충분하지 않지만 부팅하기에는 너무 늦지 만 적어도 더 좋습니다.


7

파스칼 -107 95 바이트

PROGRAM S;USES CRT;BEGIN WHILE TRUE DO BEGIN WRITELN('4 8 15 16 23 42');DELAY(6300000);END;END.

언 골프 버전 :

PROGRAM S;
USES CRT;
BEGIN
    WHILE TRUE DO
    BEGIN
        WRITELN('4 8 15 16 23 42');
        DELAY(6300000); { 105 minutes * 60 seconds * 1000 milisseconds }
    END;
END.

4

앞으로 , 50 바이트

FORTH-79는 가장 초기의 표준화 된 버전이지만이 언어는 1968 년부터 개발 중이며 IBM 1130에서 사용할 수있었습니다. 1977 년 이전에 다른 시스템에서도 사용되었습니다. 이 단어들이 모두 사용 가능한지 확인하기 위해 좀 더 많은 연구를 수행 할 수도 있지만, 이것이 그 당시에 존재했을 정도로 기본적이라고 확신합니다. 이것들은 모두 FORTH-79에 의해 가능했습니다.

문자열 인쇄 사이에 6420000 밀리 초 동안 대기하면서 영원히 반복됩니다. 줄 바꿈이 인쇄되지 않습니다.

: F 0 1 DO 6420000 MS ." 4 8 15 16 23 42" LOOP ; F

4

스몰 토크, 95 (또는 허점이 허용되는 경우 68)

1972 년부터 사용되었습니다

|i|[i:=0.[i<5] whileTrue: [(Delay forSeconds: 6480) wait.Transcript show: '4 8 15 16 23 42'.]]fork

이것에 대한 경험이
없으면 wikipedia에서 보았습니다. : 루핑 및 지연 방법을 온라인에서 찾았습니다. 구문은 정확해야하지만 실행할 방법을 찾을 수 없었습니다.

가능한 허점

108 분마다 시퀀스를 인쇄해야하지만 108 분이어야한다는 것은 아닙니다.
이것은 코드를 더 짧게 만들 수 있습니다

|i|[i:=0.[i<5] whileTrue: [Transcript show: '4 8 15 16 23 42'.]]fork

코드는 간격없이 시퀀스를 인쇄하므로 108 분 후에도 인쇄됩니다.


9
그러나 문제는이라고 말하면서 Wait some time between 104 and 108 minutes허점이 가능하다고 생각하지 않습니다.
matsjoyce

@matsjoyce 그렇기 때문에 타이머가 있고 하나가없는 것을 게시했습니다 :)
Teun Pronk

3
허점이 도전에 효과가 없지만 Desmond가 그 문제를 해결할 수 있을지 궁금합니다. 컴퓨터가 104-108 분 사이에 있지 않으면 아무 것도 수행하지 않는다고 확신하므로 입력되는 여분의 "4 8 15 16 23 42"는 무시합니다. 그러나 Walt는 누군가가 그를 보내는 모든 숫자로 인해 혼란 스러울 것이라고 확신합니다. = D
DJMcMayhem

3

SAS, 82 75 69

data;
file stdout;
a:;
put "4 8 15 16 23 42";
a=sleep(6300,1);
goto a;
run;

일반적인 골프 언어는 아니지만 file stdout1977 년 SAS에서 유효 하다고 가정하면이 도전에 적합하다고 생각합니다 .

개량:

  • data _null_;-> data;는 7자를 저장합니다 (이제 빈 데이터 세트를 생성하고 stdout으로 인쇄).
  • do-while 루프를 goto로 교체-6 자 절약

3

1971 년 톰슨 쉘 (잠자기 명령으로 1973)

43 바이트

: x
echo 4 8 15 16 23 42
sleep 6480
goto x

Bourne 쉘은 1977 년에 존재했지만 1979 년 v7까지 릴리스 된 Unix 버전에는 없었습니다. 원래 Unix 쉘에는 멋진 루프 제어 명령이 없었습니다. 루프를 끝내려면 if명령을 사용하여 이동을 건너 뛸 수 있습니다 .


exec $0약간의 절약 이 필요했을 goto까요?
Neil

2

C, 50 바이트

다른 C 솔루션보다 짧으므로 복제본이 아닙니다. 실제로 다른 C 솔루션에 대한 Digital Trauma의 (거의) 동일한 의견을 발견하기 전에 이것을 썼습니다.

main(){for(;;sleep(6240))puts("4 8 15 16 23 42");}

나는 이것이 다른 솔루션에 대한 사소한 수정 / 개선이며 따라서 속임수라고 주장합니다. 이 글을 작성하기 전에 댓글을 보았는지 여부는 관련이 없습니다.
Mego

1

코볼, 240 바이트

예, 선행 공백이 중요합니다. 컴파일하고 실행하십시오 cobc -x save.cob; ./save. (이 -x옵션은 공유 라이브러리와 달리 실행 파일을 생성하므로 계산해야한다고 생각하지 않습니다.)

       IDENTIFICATION DIVISION.
       PROGRAM-ID.S.
       PROCEDURE DIVISION.
           PERFORM UNTIL 1<>1
              DISPLAY"4 8 15 16 23 42"
              CALL"C$SLEEP"USING BY CONTENT 6402
           END-PERFORM.
           GOBACK.

지루하고 싶다면 --free자유 형식 코드에 대한 컴파일 옵션을 추가 한 다음 158 + 6 = 164 바이트를 추가 할 수 있지만 '77 년에는 다시 작동하지 않을 것입니다.

IDENTIFICATION DIVISION.
PROGRAM-ID.S.
PROCEDURE DIVISION.
PERFORM UNTIL 1<>1
DISPLAY"4 8 15 16 23 42"
CALL"C$SLEEP"USING BY CONTENT 6402
END-PERFORM.
GOBACK.

1

ALGOL 60 / 68 / W, 74 47 50 바이트

a68g save.a68사용 하여이 전체 프로그램을 실행하십시오 algol68g.

ALGOL에는 기본적으로 잠자는 방법이 없지만 기본적으로 실행할 수 있습니다 /bin/sleep.

DO print("4 8 15 16 23 42");system("sleep 6380")OD

이전 답변 :

ALGOL은 잠이 내장되어 있지 않기 때문에 우리는 남용 수 ping시간의 유닉스 (에서 아이디어를 확실하게되는 여기 에 대한) (74) 69 바이트 .

DO print("4 8 15 16 23 42");system("ping 1.0 -c1 -w6240>/dev/null")OD

1
영리 해요! 프로그램이 "sleep-ping"이라고 말할 수 있습니다. : P
DJMcMayhem

@DrGreenEggsandIronMan 하!
고양이

@DrGreenEggsandIronMan 어디에 system있고 괜찮지 않은 라인은 어디에 있습니까? 당신은 괜찮지 system("ping ...")만 도전 과제는 systemC에서 bash 명령을 사용할 수 없다는 것 입니다. ALGOL이 인쇄를하고 있지만 다른 방법 ping(8)이나 sleep(1)잠을 잘 수가 없습니다.
cat

글쎄, 내가 도전을 썼을 때, 나는 구글을 검색하고 89에서 bash가 나온 것을 보았으므로 "bash를 사용하는 것은 부정 행위입니다!" 더 큰 문제는 system("sleep")그때부터 OS에서 작동 하는지 여부 입니다. 글을 수정하겠습니다.
DJMcMayhem

1
NCP에 핑이 있다고 생각하지 않습니다. 80 년대 초반까지 인터넷은 TCP / IP로 전환되지 않았으며 ICMP Echo Request에 대한 첫 번째 언급은 1981 년 4 월자 RFC777에있는 것으로 보입니다.
ninjalj
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.