미소! 그냥 웃어


16

Brainf * ck 는 Kolmogorov- 복잡성 문제에서 매우 나쁜 것으로 잘 알려져 있습니다. 예를 들어 "Hello world"를 인쇄하려면 약 100 자 정도가 필요합니다.

그러나 Brainf * ck가 매우 유용한 텍스트가있을 수 있습니다.

당신의 임무는 이제 입력을받지 않는 프로그램을 작성하는 것이며, 다음을 표시합니다 :

즉, 웃는 얼굴 (브라우저가 렌더링하지 않으면 ASCII 1).

Brainf * ck는 2 자로 가능합니다.

+.

그것을 능가하는 언어를 찾아보십시오!

우리는 콘솔이 실제로 해당 문자를 표시 할 수 있다고 가정합니다 (또는 글꼴에 문자 등이 있음).

가장 짧은 코드가 승리합니다. 같은 길이가 더 많으면 첫 번째가 이기지 만 다른 것들도 공감할 것입니다.

편집 : 매우 죄송합니다, 나는 첫 번째 게시물이 곧 도착한다고 생각하지 않았다. 빠른 편집 : 언어는 Turing-complete 여야합니다!


7
출력에 대한 설명에 이의를 제기해야합니다. 코드는 실제로 이진 코드 1로 문자를 출력하지만 ASCII로 인코딩되지는 않지만 CP850 또는 CP437과 같은 일부 DOS 코드 페이지 인코딩에 속합니다. modern == UTF-8이기 때문에 최신 콘솔에서는 smiley가 나타나지 않습니다. ☺
Sven

답변:


10

거짓 (2)

1,

BF에 대한 모든 독서는 돈을 지불했습니다! False는 Brainfuck의 조상입니다.


아야! 지금까지 아무도 이것을 생각하지 않은 것이 이상합니다. :)
vsz

1
일반 텍스트와 html이있는 버전은 실제로 프로그래밍 언어로 수행되지 않았으므로 이것을 수락해야했습니다.
vsz

BLC로 시도했지만 BLC에서 의미가 없습니다. 심지어 1 상태 튜링 기계조차도 튜플에 4 개 또는 5 개의 요소가 필요합니다.
luser droog

19

HTML :

실제로 프로그래밍 언어는 아니지만 가능한 가장 짧은 솔루션입니다.


1
더 이상 규칙에 맞지 않지만 질문을 서두르고 이것을 생각하지 않았기 때문에 여전히 +1을 줄 것입니다.
vsz

답변 과 같이이 PHP를 대신 호출 하려면 새로운 규칙에서 괜찮을 것입니다.
Matt

PHP는 단순히 사용하려고하면 횡설수설을 출력합니다 .
jdstankosky 2014

HTML + CSS에서 작품 이다 새로운 규칙에 따라 좋아.
Adám

@ Adám이 챌린지의 규칙에는 Turing Completeness가 필요합니다.
pppery

12

매스 매 티카

재미로...

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

스마일


1
Mma에서 한 캐릭터 ☺도 그렇게합니다
Dr. belisarius

@belisarius ASCII로 변환하지 않고 어떻게 붙여 넣습니까?
DavidC

1
방금 복사해서 붙여 넣기 :)
Dr. belisarius

@ belisarius 나는 또한 아이콘을 잘라내어 붙여 넣었지만 어떤 이유로 든 전체 형식이 표시되었습니다.
DavidC

1
상업적 가치는 약 75 센트입니다. 수학적 가치는 zilch입니다.
DavidC

10

일반 텍스트, 1 문자

HTML은 많은 상황에서 과잉이기 때문에.

(예, 규칙이 변경되었음을 알고 있습니다)


일반 텍스트가 완료되지 않아이 답변이 유효하지 않습니다.
pppery

8

C, 18 자

Brainf ** k와는 거리가 멀지 만 C만큼 좋은 결과를 얻을 수 있습니다.
리틀 엔디안 플랫폼에서만 작동하며 매개 변수없이 실행해야합니다.

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

7

미크로 네 틱스 시스템 MUMPS 4.4 (7 문자)

w $c(1)

유행성 이하선염? 오, 공포 .. 내가 여기서 볼 거라고 상상조차 못 했어 순수한 충격 가치만을 위해 +1!
vsz

@vsz 그것은 종종 : 가장 일반적인 랭 가문을 친다 내가 알고있는 유일한 골프에 적합한 언어입니다
DaveShaw

5

Brainf * ck (2 자만)

+.

물론, 나는 아직도 길이 2의 해결책을 받아 들일 겁니다
VSZ

이것이 어떻게 작동하는지 설명해 주시겠습니까? 인쇄 할 수없는 문자 인 ASCII 1을 출력해야합니다.
nyuszika7 시간

@ nyuszika7h : 많은 콘솔이 ASCII 1에 대해 스마일리를 출력합니다.
vsz

1
정말? 나는 그런 콘솔을 본 적이 없다. 나는 그들이 모호한 문자 세트를 사용한다고 확신합니다.
nyuszika7 시간

5

2자를 넘지 않지만 :

PHP 11 자

<?=chr(1)?>

스마일리를 PHP에 배치하면 다음과 같이 출력됩니다 .

커맨드 라인에서 php.exe로 실행 Γÿǁ하면 브라우저에 배치하고☺

작동 하지 않습니다 .


m0nhawk이했던 HTML 경로를 사용할 수도 있습니다.
Mr. Llama

@GigaWatt 당신은 할 수 없습니다. PHP를 사용하여 횡설수설합니다. 당신도 시도 했습니까? CLI와 브라우저에서 시도했습니다.
jdstankosky

나를 위해 잘 작동합니다. ideone.com/6wYzx9
Mr. Llama

커맨드 라인에서 php.exe로 실행 Γÿǁ하면 브라우저에 다음을 제공합니다.☺
jdstankosky

2
파일의 16 진 덤프를 수행하면 파일이 아닌 스마일리 ( \xE298BA) 의 유니 코드 표현으로 저장되었음을 알 수 있습니다 \x01. 단일 \x01바이트를 가진 파일을 수동으로 만들고 PHP를 사용하여 명령 행에서 실행하십시오.
Mr. Llama

5

DC-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}

첫 번째는 순수한 LaTeX가 유니 코드 문자를 읽을 수 없기 때문에 작동하지 않습니다. 이상하게도 기본 글꼴 테이블에이 기호가 없기 때문에 XeLaTeX 또는 LuaLaTeX에서는 작동하지 않습니다. 다음 사항을 고려하십시오. \documentclass{book} \usepackage{fontspec} \setmainfont{DejaVu Sans} \begin{document}☺\end{document}—“좋은”솔루션에서 사용중인 렌더링 엔진 (pdfLaTeX)을 지정하십시오.
Andreï Kostyrka

2

J (3 자)

'☺'

코드에는 적절한 글꼴이 필요합니다.

Wikipedia 에 따르면

Wingdings 글꼴에서 문자 "J"는 웃는 얼굴로 렌더링됩니다 (이는 유니 코드 코드 포인트 U + 263A와 구별되며 ☺으로 렌더링 됨).


또 다른 변형은 u:1입니다.
FireFly

2

Q / K (9 자)

불행히도 2에서는 할 수 없습니다.

-1"\001";

더 적은 문자로 다른 스마일 기호를 생성 한 이전 버전의 인터프리터에서 버그를 회상하는 것 같습니다. 내가 찾아 볼게

편집 : 기발한 발견. 인터프리터의 Windows 버전에서만 작동하는 것으로 보입니다.

q)1(1b);
☺


1

해학적 인-6 자

,1L[sh

설명:

,튀어 나온다. 1L[하나를 푸시하고 char로 변환 (코드 포인트별로) sh은 예쁜 형식으로 전환하는 데 사용됩니다. 그렇지 않으면 선행을 인쇄합니다 '.


1

Tcl, 1

다른 것들과 함께 ☺를 표시합니다.
이것은 PHP 또는 다른 언어와도 작동한다는 소문이 있습니다.




1

05AB1E , 2 자

지루한 하드 코딩. CP437로 인코딩되었습니다.

"☺

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

05AB1E , 2 바이트

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


인코딩을 포함 할 수 있습니다. 최고의 답변은 CP850 또는 CP437과 같은 인코딩에서 문자 "코드 페이지를 모두 포함하는 2 바이트입니다 . 그러나 05AB1E 인코딩을 사용하면 최고 답변을 얻을 수 없으며 UTF-8 인코딩을 사용하면 4 바이트가됩니다.
Kevin Cruijssen

문제는 문자가 유효한 인코딩 시스템이라는 것입니다.
a'_ '8:20의



0

펄 6 (7 문자)

say '☺'

쉘 프롬프트 혼란을 피하기 위해 \ n을 환영한다고 가정하여 규칙을 약간 구부리고 있습니다.


4
그 공백 문자가 필요합니까?
JB



0

PowerShell , 5 바이트

프로그램이 웃는 얼굴 문자를 출력해야하는 경우.

'☺'

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


PowerShell , 7 바이트

프로그램이 문자를 코드 1로 출력 해야하는 경우

[char]1

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


1
왜 안돼 '☺'? 그런데, 얼굴 TIO 또는 콘솔에서 나를 위해 렌더링되지 않습니다
IT 연체

Powershell에서 스마일 얼굴의 코드가 1이 아니기 때문입니다. 온라인으로 사용해보십시오!
mazzy

1
그러면 대답이 '[Char] 9786'이어야합니까? 정말 혼란 스러워요 : -D
IT Delinquent

1
하아! 네 말이 맞아 코드 1로 문자를 출력하는 프로그램을 작성한다고 생각했지만 웃는 얼굴을 출력하는 프로그램을 작성하는 것으로 해석 할 수 있습니다.
mazzy



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