최단 정렬 된 Hello World


27

입력하지 않고 Hello, World!stdout 또는 가장 가까운 언어로 인쇄하는 프로그램을 작성 하십시오. 프로그램의 각 줄에는 인쇄 가능한 ASCII 문자 만 포함 되어야하며 사전 순으로 정렬되어야합니다.

다음은 95 개의 인쇄 가능한 ASCII 문자 순서입니다.

 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~

따라서 예를 들어 및 의 순서가 !!A0~잘못되어 라인 이 유효하지 않습니다 . 라인 이 유효합니다.A0!!0A~

프로그램의 각 줄은 길이에 제한이 없으며 여러 줄이있을 수 있습니다. 빈 줄은 정렬 된 것으로 간주됩니다. 프로그램의 각 줄 바꿈은 동일해야합니다 (혼합 \n\r\n). 탭 및 인쇄 할 수없는 다른 ASCII 문자는 금지되어 있습니다.

대중적인 수요 로 인해 승리 조건이 바뀌 었 습니다. 라인 수가
가장 적은 제출이 승리합니다. Tiebreaker는 가장 짧은 프로그램으로 이동합니다 (줄 바꾸기는 단일 문자로 계산).

Hello, World!선택적 후행 줄 바꿈 만 출력해야합니다. 참고 HQ9 +는 그것을 출력하기 때문에 유효하지 않습니다 hello, world. "Hello, World!"라는 문자가있는 HQ9 +와 유사한 언어를 금지 할 수 있습니다. 사소한 이유로 명령.

힌트:

UnaryLenguage 에서는 확실히 가능 하지만 매우 간결하지는 않습니다.


7
늦은 지금 조금,하지만 어떻게 든 나는 적어도 같은 라인을 느낄 ... 가장 적은 바이트가 더 흥미되었을 수 있습니다
SP3000

6
@ Sp3000 우리는 결합 된 측정이 필요합니다. 그렇지 않으면 단항 및 Lenguage는 1 개의 라이너 만 경쟁 할 수 있음을 의미합니다.
isaacg

@ Sp3000 어쩌면 나는 단항 / 언어가 이길 가능성이 없도록하고 싶었습니다. 그래도 그것을 바꿀 수 있습니다 (죄송합니다). 동의하면 Upvote Sp의 의견을 보내주십시오.
Calvin 's Hobbies

@ Sp3000 귀하의 조언을 받았습니다. 업데이트를 참조하십시오.
Calvin 's Hobbies

주문을 뒤집을 수 있습니까? 예를 들어 왼쪽에서 오른쪽으로 읽는가?
Ismael Miguel

답변:


17

Headsecks , 1 줄, 366 바이트

                                                                        $(((((((((((((((((((((((((((((,000000044888<AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADIIIIIIIIIIIILPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPTXXXXXXXXXXXXXXXXXXXXXXXX\```diiiiiilqqqqqqqqtyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy|

Headsecks는 사소한 Brainfuck 대체물입니다. 여기서 중요한 것은 코드 포인트 모듈로 8입니다. 동등한 Brainfuck은 단지

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.+++++++++++++++++++++++++++++.+++++++..+++.-------------------------------------------------------------------.------------.+++++++++++++++++++++++++++++++++++++++++++++++++++++++.++++++++++++++++++++++++.+++.------.--------.-------------------------------------------------------------------.

운 좋게도이 순진한 접근 방식 적합합니다. 바이트를 내릴 가능성이 있지만 어려울 수 있습니다.

이 파이썬 인터프리터를 사용하여 테스트했습니다 .


코드 생성

code = "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++.+++++++++++++++++++++++++++++.+++++++..+++.-------------------------------------------------------------------.------------.+++++++++++++++++++++++++++++++++++++++++++++++++++++++.++++++++++++++++++++++++.+++.------.--------.-------------------------------------------------------------------."
command_map = "+-<>.,[]"

last_point = 32
out = []

for char in code:
    curr_mod = command_map.index(char)
    last_mod = last_point % 8

    if curr_mod > last_mod:
        last_point += curr_mod - last_mod

    elif curr_mod < last_mod:
        last_point += (8 - last_mod) + curr_mod

    out.append(chr(last_point))

print("".join(out))

영리했습니다! +1
theonlygusti

더 짧은 BF 프로그램을 사용할 수 있습니까, 아니면 특정 이유로 프로그램이 구축 되었습니까? 발전기에서 사용한 BF 프로그램을 사용해 보았지만 일부 유니 코드가 출력에 포함되었습니다.
mbomb007

1
@ mbomb007 더 짧은 BF 프로그램의 문제점은이 순진한 방법조차도 코드 포인트 124에서 끝나므로 새로운 문자를 도입하기에 충분한 흔들림 공간이 충분하지 않다는 것입니다.
Sp3000

30

/// , 7 줄, 22 바이트

/
//Hello
,
 Wor
l
d
!

/// 경쟁자가 될 수있는 드문 기회입니다 (Unary 및 Lenguage ...

코드는 먼저 발생 /하고,를 분석

/
//

프로그램의 나머지 부분에서 모든 줄 바꿈을 제거하는 대체 명령으로. 그 후, 프로그램은 단지 읽습니다

Hello, World!

슬래시가 더 이상 포함되지 않으므로 그대로 인쇄됩니다.


19
URL에 많은 슬래시가 연속으로 포함될 수 있다는 것도 알지 못했습니다.
Alex A.

4
@AlexA. URL을 작동시키는 데 몇 달이 걸렸습니다. IIRC. 서버 구성 및 MediaWiki 구성 변경을 처리하기 위해 기사의 이름을 계속 바꿔야했습니다.

17

자바 스크립트 (67 66 62 줄 227 269 ​​바이트)

(참고 : Firefox 36 및 Safari 8에서만 테스트되었으며, 사소한 ES6 기능 ( Set클래스)이 포함되어 있습니다 )

Z
=
!""+
(0[[]]
+
(
!!""+Set
));c
=Z[~
-22]
$=Z[
3]
$$=Z[
15]
$$$=Z[
24]
$$$$=Z[
1]
$$$$$=Z[
0]
Set
[c
+
$$$+Z[
5]
+Z[
16]
+
$$$$$+
$$$$+Z[
2]
+c
+
$$$$$+
$$$+
$$$$]
(Z[
14]
+
$$+
$+
$$$$+
$$$$$+
"(\
'H\
"+
$+
$$+
$$+
$$$+
",\
 W\
"+
$$$+
$$$$+
$$+Z[
6]
+
"\
!')\
")
()

위의 코드는 기본적으로 다음과 같습니다.

alert("Hello, World!")

분명히 alert분류되지 않았습니다. 대신 문장을 문자열로 생성하고 "평가"해야합니다.

s = "alert('Hello, World!')";   // generate this using sorted code
eval(s)

문자열을 생성하는 방법? ES5는 줄 연속을 지원하므로

"AL\
ERT" === "ALERT"

그러나 문자 코드 \는 모든 소문자 앞에 나타나 므로 다른 방법을 사용하여 소문자를 생성해야합니다.

여기서 JSFuck에 대한 아이디어를 빌립니다 . 경고문과 관련된 소문자는 다음과 같습니다.

t e r a o l d

이들 모두는 표준 객체의 문자에서 추출 할 수 있으며 정렬 된 순서로 표현 될 수 있습니다.

t, e, r ← true      = !""
a, l    ← false     = !!""
o       ← function  = Set
d       ← undefined = 0[[]]

우리는 어떻게 문자열을 평가합니까? 반드시 eval(s)분류 되지 않았으므로 사용할 수 없습니다 . 또는을 사용할 수 Function(s)()있지만 Function정렬 되지 않았으므로 사용할 수 없습니다 . 그러나 Function모든 함수의 생성자이므로 의미 Set.constructor === Function합니다.

식별자 constructor를 추가하면 소문자 목록이됩니다.

t e r a o l d c u n s

다행히도 다음과 같이 생성 할 수 있습니다 "truefalseundefinedfunction".

t, e, r, u ← true      = !""
a, l, s    ← false     = !!""
o, c, n    ← function  = Set
d          ← undefined = 0[[]]

확인 후 위의 코드는 다음과 같아야합니다.

// lines 1~8 defines our string containing all lowercase letters we want
Z = true + (undefined + (false + Set))
// Z = "trueundefinedfalsefunction Set() { [native code] }"

// lines 8~20 defines the variables `c`, `$` (e), `$$` (l), `$$$` (o), 
// `$$$$` (r), `$$$$$` (t)
// for the corresponding lowercase letters extracted from `Z`

// the rest calls:
Set["constructor"]("alert('Hello, World')")()
// lines 22~36 generates the "constructor" string
// lines 37~61 generates the "alert('Hello, World')" string

업데이트 : 이름 변경은 E, L, O, R, T다양한 반복에 $4 개 라인을 줄일 수 있습니다.


2
절대적으로 훌륭합니다! 이것이 파이썬에서 같은 시간의 전략을 사용할 수 있는지 확실하지 않습니다 (대소 문자 구분).
mbomb007

아주 좋아요! 참고 =Z[3*7]로 쓸 수 =Z[~-22]있는 단지 대신이 한 줄의 휴식이 필요합니다.
나와 내 고양이

@ mbomb007 예, 그러나 공백은 ASCII 세트에서 처음입니다 ...
Harry Beadle

@meandmycat 감사합니다! 업데이트되었습니다.
kennytm

13

불면증 , 4 줄, 59 바이트

 FFFFGjnnnnooty
FLLddeejkopqyyyyy~~
(<ddjnoppppqrtu
<<Fddfj

이 프로그램은 라인 수를 최적화하여 생성됩니다.

10 줄, 43 바이트

(u
pt
(dppty
p~
j
<Fptt{
(otz
?o
FLu
<?FFu~

이 프로그램은 바이트 수를 최적화하여 생성됩니다.


11

Cygwin bash, 16 줄, 60 바이트

이것은 Windows에서 대소 문자를 구분하지 않는 파일 이름과 Cygwin이 대소 문자를 구분하지 않고 경로를 인식하도록 설정하지 않은 경우에도 유틸리티가 대소 문자를 구분하지 않기 때문에 작동합니다.

A\
=Hello
A\
+=\
",
"Wor
A\
+=l
A\
+=d
A\
+=\
!
E\
CHO\
 $A

ECHO끝에 기록해 두십시오 .


이것이 17 또는 16 줄인지 확실하지 않지만 (맨 끝에 새 줄이 있음) 어느 쪽이든, 이것은 아무것도 얻지 못할 것입니다.
n̴̖̋h̷͉̃a̷̭̿h̸̡̅ẗ̵̨́d̷̰̀ĥ̷̳

당신은 10 upvotes를 이겼습니다, 그것은 이미 많이입니다. 가장 많이 투표 한 사람들은 (현재) 12 개의 투표를했습니다! 그리고 23 개의 업 보트가있는 /// 솔루션.
Ismael Miguel

11

> <> , 6 줄, 111 바이트

  """""""/;;Hello
        &\o
      &++\oooo~~
"++++++++\bbbdlr
    +++++\ccccccccfooo}
    $++66\cfffffooooopr

나는 여분의 라인을 골라내는 데 어려움을 겪고 있지만 어쨌든 7 라인 방법을 이겼습니다.

설명

> <>는 명령어가 단일 문자이고 프로그램 흐름이 위, 아래, 왼쪽 또는 오른쪽 일 수있는 스택 기반 2D 언어입니다. 이 "명령은 문자열 구문 분석을 토글하여 닫힘 "이 충족 될 때까지 문자를 푸시 하지만> <>의 특성으로 인해 CJam의 문자열 또는 Python의 3 중 인용 문자열과 같은 "멀티 라인 문자열 구문 분석"과 같은 것은 없습니다. a로 줄을 시작하고 끝내고 "사이에 다른 문자를 "some chars"넣을 수 없기 때문에 이것은 큰 문제로 판명되었습니다 !

주의 /\우리가 실제로 모든 역순 라인의 다음 첫 번째 줄을 실행할 수 있도록 프로그램 흐름을 반영, 대부분의 라인이 실제로 이전 버전을 실행!

[Line 1]

""""""              Three empty strings, push nothing
"/;;Hello  "        Push "/;;Hello  ". Note the wrapping - ><> is toroidal!
""""""              Three empty strings, push nothing

[Line 6]
66++$               Turn the top " " into "," by adding 12, then swap top two
rp                  Reverse stack and pop top 3
ooooo               Print "Hello", stack is now " ,"
fffffc              Push some 15s and a 12

[Line 5]
+++++               Sum the 15s and 12 to give 87, or "W"
}ooo                Move "W" to the back and output ", W"
fcccccccc           Push a 15 and some 12s

[Line 4]
++++++++            Sum the 15 and 12s to give 111, or "o"
"rldbbb\++++++++"   Push chars to stack
r                   Reverse stack
ld                  Push length of stack and 13, not used
bbb                 Push three 11s

[Line 3]
++&                 Sum the 11s to give 33, or "!" and put in register
~~                  Pop top two
oooo                Print "orld"

[Line 2]
&                   Put "!" from register to stack
o                   Print "!"

[Line 1]
;                   Terminate

참고로, 다음은> <> 최소 바이트 (23 줄, 47 바이트)에서 재미있는 시도입니다.

v
"
!
d
l
r
o
W

,
o
l
l
e
H
"
/<
l
?
!
;
o
\^

2
두 번째 코드에서는 수직 랩 어라운드 덕분에 2 바이트를 절약 할 수 있습니다. pastebin.com/heqCr1vJ
randomra

10

CJam, 5 4 줄, 162 바이트

"Hello
")))))))))))))))))))))))))))))))))))68S\cel
"Wor
")))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))@SX\c|

불면증과 같은 수의 라인! (하지만 더 많은 바이트)

온라인으로 사용해보십시오 .

설명

"Hello\n"        Push "Hello" and a newline
)                Uncons the newline
)))...)))        Increment the newline into a ","
68S\             Push 68 and a space then swap, leaving 68 on top
c                Convert 68 into a char "D"
el               Lowercase "D" into "d"
"Wor\n"          Push "Wor" and a newline
)                Uncons the newline
)))...)))        Increment the newline into an "l"
@                Rotate top three elements, moving the "d" to the top
SX\              Push a space and 1 then swap, leaving the space on top
c                Convert the space (which is an array) into a char
|                Bitwise or the space (32) with 1 to give "!" (33)    

CJam은 자동으로 스택을 인쇄합니다.

나에게 그 생각 나게에 대한 @Optimizer 덕분에 Sc, 그렇지 않으면 때문에, 작품을 SX|(그 대신 setwise를 수행하거나 공간과 1로 구성된 배열을 제공) 실패합니다.


8

> <> (물고기) , 5 줄, 많은 바이트

내가 말할 때 코드는 매우 긴 [6535529689086686142930090 '+' signs][6535529689086686142930090 'd' characters]코드의 첫 번째 줄에, 말 그대로 있다는 것을 의미 6535529689086686142930090연속 징후 플러스!

(그리고 다음 줄에 필요한 접두사 공백을 추가하십시오.)

'[6535529689086686142930090 '+' signs]^`[6535529689086686142930090 'd' characters]
                                   **,/288
                                     -/:o
                             %**288:;?\
                                   (1:\

다음을 인쇄하는 더 짧은 테스트 가능한 대안 Hi:

'+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++^`hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
                                                                                                                               **,/288
                                                                                                                                 -/:o
                                                                                                                         %**288:;?\
                                                                                                                               (1:\

방법:

  • 첫 번째 줄에서 base128의 문자열을 나타내는 큰 숫자를 만듭니다.
  • 나머지 행 (하단에서 위로)에서는 정수 값이 0에 도달 할 때까지 모든 루프에서 다음 문자를 인쇄합니다.
  • 루핑 코드는 :1(?;:882**%:o-288**,입니다.

(이 방법으로 임의의 2 자 이상의 긴 문자열을 인쇄 할 수 있습니다.)


유효한 해결책이 아닙니다. 6535529689086686142930090은 주문하지 않았습니다.
theonlygusti

@theonlygusti "코드는 매우 길고 해석 적 [6535529689086686142930090 '+' signs]이며 [6535529689086686142930090 'd' characters]말 그대로 코드의 첫 줄에 있습니다." (내가 의미하는 바가 확실하지 않은 경우 두 번째 코드를 확인하십시오.)
randomra

오 알았어! 죄송합니다, 바보 같은 말 : PI가 말 그대로 가져갔습니다.
theonlygusti

2
크기는 13YB로 인터넷 크기의 약 1000 배입니다.
Charles

@Charles 나는 후자를 포함하여 ~ 40YB를 얻습니다.
Veedrac

8

PHP (7/17 줄, 36/59 바이트) :

잘못된 답변으로 인해이 답변을 다시 작성했습니다.

브라우저 버전? 지나간.

그러나 PHP의 비트 단위 xor( ^) 문자열을 기반으로 두 가지 솔루션 이 있습니다.

이것은 매우 강력한 솔루션입니다! 때로는 많은 바이트를 절약 할 수 있습니다.

첫째, 가장 짧은 대답 :

Echo
Hello
,AM^mm
,Wor
,OOO^
"#+n
";

알아, 끔찍해 보이지만 작동합니다!

다음은 줄 바꿈에 달려 있습니다.

예, 개행을 사용합니다 ( \n/ UNIX 스타일이 필요합니다)!

Echo
Bo
.ff
.e
.
"&*]ex
fn
"^
"\n
\n
\n
\n
\n
\n
\n
",B^c
;

이 줄 바꿈은 작동해야합니다.

완벽하지는 않지만 작동합니다!


두 답변 모두 @ MartinBüttner솔루션 을 기반으로했습니다 .

Echo
Hello
.
chr
(44
).
chr
(29
+3
).Wor
.l
.d
."!
";

나의 모든 실수를 감지하고 그들의 제안에 대해 @ n̴̖̋h̷͉̃a̷̭̿h̸̡̅ẗ̵̨́d̷̰̀ĥ̷̳ , @CJDennis , @ MartinBüttner@skagedal 에게 특별한 감사를드립니다 .


1
브라우저의 출력은 Hello , Wor l d !입니다. 여분의 공간에 주목하십시오! 불행히도 이것은 올바른 대답이 아닙니다.
CJ 데니스

1
Windows XP의 Firefox 36, IE 8, Opera 12.17 및 Opera 28 (Chromium)에서 테스트되었습니다. 모두 출력을 동일하게 렌더링했습니다. 공백 문자가없는 등의 공백 문자는 단일 공백 ​​문자로 렌더링되므로 각 줄 바꿈은 공백으로 변환됩니다. 브라우저가 공백없이 출력을 렌더링하는지 알고 싶습니다.
CJ 데니스

1
언어의 좋은 남용! 기술적으로 생성 된 오류는 stdout이 아닌 stderr로 이동하므로 내 경우 브라우저에서 많은 오류가 발생하더라도 코드가 유효합니다! 그리고 엄청나게 까다로운, 내 PHP 설정에 짧은 태그가 없으므로 컴퓨터의 첫 번째 줄 <?php이 잘못되었습니다! 그러나 이것을 용서하겠습니다! 좋아, <?Php어느 것이 작동하는지 테스트 했으므로 시작 태그가 대소 문자를 구분하지 않는다는 것을 알게되었습니다!
CJ 데니스

1
이 답변의 상위 2 개 솔루션은 규칙을 따르지 않습니다. 상단에 8 행이 있습니다. "!<br-정렬되지 않았습니다. 두 번째 줄은 10 행입니다 : ."!-정렬되지 않았습니다.
skagedal

1
@IsmaelMiguel 죄송 합니다만, 아닙니다. 첫 번째 제안의 7 행은 정렬되지 않습니다. 두 번째 제안의 5 행과 7 행은 정렬되지 않습니다.
skagedal

7

Pyth, 7 줄, 23 바이트

-
"Hello
,
 Wor
l
d
!"b

아주 간단합니다. 여러 줄 문자열을 사용하고 개행을 제거하십시오.

여기에서 시도하십시오.


@orlp 며칠 전에 여러 줄 문자열을 추가했으며 Pyth는 연령 입력에 줄 바꿈을 지원했습니다. 이것은 멀티 라인 모드를 전혀 사용하지 않습니다. 멀티 라인 모드가없는 온라인 컴파일러에서 사용해보십시오.
isaacg

2
CJam에서도 거의 동일하며 바이트 수가 동일합니다.
Optimizer

4

넷째, 41 줄, 143 바이트

온라인으로 사용해보십시오.

나는 이것을 자랑스럽게 생각합니다. Google에서 대소 문자를 구분하지 않는 언어를 검색하도록하여 검색 할 수 있었을 때이를 신속하게 채웠으며 이미 Forth를 잘 알고 있습니다. 바이트와 ​​라인 모두 거의 단축 될 수 있습니다. 제안을 부탁드립니다. :디

이 프로그램은 기본적으로 각 ASCII 문자의 10 진수 값을 누른 다음 각 ASCII 문자를 인쇄합니다. 작성하는 동안 최적화를 시도했기 때문에 원하는 것보다 읽기 쉽지 않습니다.

33
99
1
+
DUp
8
+
2DUp
6
+
SWap
11
+
2OVer
SWap
8
9
*
EMit
1
+
EMit
DUp
DUp
EMit
EMit
3
+
EMit
29
3
2DUp
+
EMit
*
EMit
EMit
EMit
EMit
EMit
EMit

Emit로 라인은 작동하지 않는다 i(105) 미만이다 m(109).
bcsb1001

그렇다면 "EMit"이어야합니까?
skagedal

4

놀라운, 9 줄, 94 바이트

3333
    @ADD
    358C
++--29\\
++--3555DE
<<<<<<>>~~
+++++446666D
++++++++../\
      ++------

여기에서 온라인으로 테스트하십시오. Using spaces for blank cells확인해야합니다.

소스의 시각적 표현 :

위 소스의 시각적 표현

설명 : 이 프로그램의 각 16 진 값은 "틱"마다 내려갑니다 (설정되어 있지 않으면 \\오른쪽으로 이동). ++값을 증가 시키거나 --감소 시키 ~~거나 비트 단위로 적용하지 않습니다. 하단에서 떨어지는 값은 ASCII 문자로 인쇄됩니다.

예를 들어 : 33상단 모서리의가됩니다 (((0x33 +1 +1) << 1) +1 +1 = 0x6C (l).


2

펄, 17 줄

$_
=
'pr
int
"Hello
,
 Wor
l
d
!"';s
!
!!g
;s
!.
*
!$&
!eex

2

Rebol-15 줄 (51 바이트)

PRin
AJOin
[
'Hello
Sp 
+
12
Sp
'Wor
'l
'd
Sp
+
1
]

REBOL의 단어는 대소 문자를 구분하지 않습니다 (예. PRINT, Print그리고 print모두 같은 함수를 호출 할 것이다).

위의 코드는 정리되었습니다.

prin ajoin [
    'Hello  sp + 12  sp  'Wor  'l  'd  sp + 1
]

NB. sp공백 문자를 반환합니다 !


귀하의 프로그램이 유효하지 {않습니다. 어떤 문자도 사용할 수 없습니다.
theonlygusti

@theonlygusti-고정 (9 줄에서 13 줄로 사라짐) 나에게 문제를 일으킨 유일한 선은{,} . 이것은 Sp + 12공백 문자 + 12 (즉, 쉼표)와 동일합니다 (3 줄 이상).
draegtun

2

단항 , 1 행, 많은 바이트

이 프로그램의 모든 캐릭터는 0입니다. 소스가 너무 길어서 여기에 넣을 수는 없지만이 문자열은 여러 개의 0으로 구성됩니다.

327380789025192647555922325233404088310881092761595127419003295178342329930050528932118548

이 이진수의 십진수 표현입니다.

0b1010010010010010010010010110000010010010010110000010010000010010010000010010010000010001001001001011111000010000010000011110001111001011111000000100000011011011100010010010010010010010100100010010010100000000100001011100001100010010010100011011011011011011100011011011011011011011011100000000010100

이 BrainF *** 프로그램에서 만든 것 :

++++++++[>++++[>++>+++>+++>+<<<<-]>+>+>-[<]<-]>>.>---.+++++++..+++.>>.<-.<.+++.------.--------.>>+.

어떻게 생성했는지 확인하십시오 : http://ideone.com/lMT40p


2

배치-39 줄 (202 바이트)

스위치를 cmd사용하여 호출 내부에서 코드를 실행하여 지연 확장을 활성화하여 크기를 줄이려고 /v on했지만 모든 캐럿을 지나칠 수는 없었습니다.

@S^
ET^
LO^
C^
AL^
 EN^
ABL^
E^
DEL^
AY^
E^
DEX^
P^
ANS^
IO^
N
@S^
ET^
 0=Hello
@S^
ET^
 1=^
,^
 Wor
@S^
ET^
 2=l
@S^
ET^
 3=d
@E^
CHO^
 !^
0^
!!1^
!!2^
!!3^
!^^^
!

줄 바꿈없이 (및 줄 바꿈을 피하기 위해 캐럿) :

@SETLOCAL ENABLEDELAYEDEXPANSION
@SET 0=Hello
@SET 1=, Wor
@SET 2=l
@SET 3=d
@ECHO !0!!1!!2!!3!^^!

1

루비, 19 줄, 95 바이트

$;=
$>
$;<<
:Hello
$;<<
44::chr
$.=
33::
-1
$;<<
$.::chr
$;<<
:Wor
$;<<
:l
$;<<
:d
$;<<
33::chr

아마도이 사이트에서 본 루비에 대한 두 번째로 어려운 코드 제한은 여기에 있습니다 .

설명을 위해 편집 : 정렬 된 유일한 루비 출력 방법은 <<STDOUT 의 방법입니다. 불행히도 STDOUT의 상수는입니다 $>. >대부분의 기호보다 ASCII가 높으므로 메소드를 호출 할 수 없습니다. 좀 더 다루기 쉬운 변수 이름으로 만들려면 여러 줄로 된 할당 문이 필요합니다 $;(세미콜론은 여전히 ​​높지만이 형식의 대부분의 변수는 할당 할 수 없거나 문자열 일 수 있습니다).

기호 ( :Wor등 등)는 리터럴을 수행하는 가장 쉬운 방법이며 문자열에서 줄 바꿈을 제거하는 방법이 없으므로 여러 print 문이 필요합니다. 공백과 문장 부호는 기호 리터럴로 들어갈 수 없지만 운 좋게도 chr숫자에 대한 방법은 합법적이므로 ASCII 값에서 문자를 얻을 수 있습니다. ::메소드를 호출하는 다른 방법입니다. 쓸 수 없기 때문에 공간이 까다로워서 3233에서 1을 빼고 변수에 할당합니다.


당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.