좋아하는 프로그래밍 언어로 생일 축하합니다.


119

가장 좋아하는 프로그래밍 언어가 생일을 맞았습니다. 생일 축하 노래를 불러주세요 .

물론 해당 언어로 프로그램을 작성하여이를 달성해야합니다. 프로그램은 입력을받지 않고 다음 텍스트를 표준 출력 또는 임의 파일에 씁니다.

Happy Birthday to You
Happy Birthday to You
Happy Birthday Dear [your favourite programming language]
Happy Birthday to You

괄호로 묶은 부분을 대체하고 괄호를 생략해야합니다.

이것은 가장 짧은 코드가이기는 코드 골프입니다.

최신 정보

질문이 큰 관심을 불러 일으켰다는 것이 기쁘다. 점수에 대한 추가 정보를 추가하겠습니다. 원래 언급 했듯이이 질문은 코드 골프이므로 가장 짧은 코드가 이길 것입니다. 우승자는 이번 주 말 (10 월 19 일)에 선발됩니다.

그러나 나는 또한 투표로 다른 재치있는 제출물에 보상하고 있습니다 (그리고 나는 모든 사람들이 그렇게하도록 권장합니다). 따라서 이것은 코드 골프 대회이지만 짧은 답변도 환영합니다.

결과

그의 42 바이트 길이의 CJam 제출 과 함께이 콘테스트의 우승자 인 Optimizer 에게 축하를 전합니다 .


2
우리는 프로그래밍 언어의 이름을 1 바이트로 계산할 수 있습니까? JavaScript와 같은 긴 언어로 코딩하는 사람들과 C에서 언어를 코딩하는 사람들에게만 공평 해 보일 수 있기 때문입니다. 우리는 정말로 가장 창조적 인 논리를 찾고 있습니까?
MonkeyZeus

14
Bonbon 노래에 대한 모든 downvotes에도 불구하고 왜 이것에 대한 모든 upvotes ? 이것은 지루한 도전입니다.
xnor

10
나는 아마 언급해야 노래가 저작권 및 이러한 프로그램을 배포하는 것은 DMCA가 될 수 있습니다
괴물 래칫


4
적어도 하나의 답변이 선행 줄 바꿈을 인쇄합니다 . 허용 되나요?
Dennis

답변:


47

CJam, 46 42 바이트

"Happy Birthday to You
"___F<"Dear CJam
"@

작동 방식 :

"Happy Birthday to You
"___                          "Push "Happy Birthday to You\n" string to stack 4 times";
    F<                        "From the last string, take only first 15 characters. F is a";
      "Dear CJam              "preinitialized variable whose value is 15";
"                             "Push "Dear CJam\n" to stack";
 @                            "Take the third string from end and put it to end";

이렇게하면 코드 끝에 다음과 같이 스택이 남습니다.

["Happy Birthday to You
" "Happy Birthday to You
" "Happy Birthday " "Dear CJam
" "Happy Birthday to You
"]

자동으로 인쇄되어 다음과 같이 출력됩니다.

Happy Birthday to You
Happy Birthday to You
Happy Birthday Dear CJam
Happy Birthday to You

여기에서 시도하십시오 (코드를 복사하여 실행하십시오)


1
"처음 15 자"가 F에서 나옵니까? 그것이 숫자 15를 아는 방법입니까?
vijrox 2016 년

1
예, af는 10-15입니다.
야곱

122

LOLCODE : 109 ( "올바른"철자가있는 105)

LOLCODE는 골프를 즐기기에 좋은 언어가 아닙니다. 특히 코드를 단축 할 때 모든 아름다움과 표현력을 잃어 버리기 때문입니다.

HAI
H R "HAPPY BIRTHDAY "
T R SMOOSH H "TO YOU"
VISIBLE T
VISIBLE T
VISIBLE SMOOSH H "DEAR LOLCODE"
VISIBLE T

loljs를 사용하여 테스트하십시오.

이것은 내가 선호하는 표현이며 무게는 187 자입니다 (명확성을 위해 추가 된 공백).

HAI
H R "HAPPY BERFDAY "
IM IN YR LOOP UPPIN YR N TIL BOTH SAEM N AN 4
  VISIBLE H!
  BOTH SAEM N AN 2, O RLY?
    YA RLY
      VISIBLE "DEER LOLCODE"
    NO WAI
      VISIBLE "2U"
    OIC
IM OUTTA YR LOOP
KTHXBAI

15
나는 이것에 대한 LOLCODE 답변이 있다는 것을 알았습니다. BTW, kan u wryt n lwrcase insyd t kwotez? KTHXBYE.
Level River St

2
나는 다른 도전에 대한 LOLCODE 답변을 잠시 전에 작성하려고 시도했지만 코드 골프에는 너무 장황하며 적절한 데이터 구조와 복잡한 기능을 만들 수있는 능력이 부족하여 노력이 제한되었습니다!
나는 외계인을 경고

3
이 답변을 통해 LOCODE를 다운로드하고 실제로 올바르게 배울 것을 촉구했습니다.
Pharap

2
대단해 !!
AStopher

89

수학-바코드 생일 소원-너무 많은 바이트

이것은 구절을 인쇄하고 큰 소리로 읽습니다.

happy birthday

생일 축하합니다
생일 축하합니다
생일 축하합니다 친애하는 Mathematica
생일 축하합니다

StringReplace각 쉼표를 NewLine으로 바꿉니다. 바코드는 제어 문자를 포함 할 수 없습니다.


13
키보드에서 바코드 버튼을 볼 수 없습니다! 이것을 어떻게 테스트 할 수 있습니까?
matsjoyce

17
나는이의 사랑 10즉보고, 바코드 (오른쪽 하단 모서리)에 BarcodeRecognize^^ 티카 (10)에 도입되었다
마틴 청산

예! 나는 그것을 알아 차리지 못했다.
DavidC

11
실제로 QR 코드 리더로 스캔했습니다. 모든 쉼표 뒤에 추가 공백이 있으므로, 기다리면 바이트를 절약 할 수 없습니다. 신경 쓰지 마.
Timwi

55

TI 기본, 53 바이트

글쎄, 모두가 좋아하는 프로그래밍 언어를 사용하고 있기 때문에, 내가 좋아하는 것 중 하나를 추가 할 수도 있습니다. 몇 년 동안 (실제 프로그래밍 언어로 졸업하기 전에) 스마트 폰의 절반 크기의 창에 명령을 입력하는 데 많은 시간을 보냈습니다.

"HAPPY BIRTHDAY TO YOU
Disp Ans,Ans,sub(Ans,1,15)+"DEAR TI-BASIC
Ans

내 계산기는 소문자를 지원하지 않으며 문자열 일 수있는 유일한 변수는 Str1, Str2 등입니다.


TI-Basic의 어떤 맛? TI-84에서 정말 익숙했습니다.
Jesan Fafon

7
TI-Basic을 항상 참조하십시오. 이것은 표준 8x TI-Basic 인 것처럼 보이며, 여기서 모든 표현은 Ans에 자동 저장되며, 이상하고 따르기 어려운 최적화 전략을 사용할 수 있습니다. 이 멋진 언어로 프로그래밍을 시작했습니다.
codebreaker

4
편집자 주 : 주석을 편집하는 대신 주석에 변경 사항 (이 경우 8 자 손실)을 게시 할 수 있습니까? 그래도 이것이 여전히 내 대답 인 것 같습니다.
Stretch Maniac

2
+1 !! 그것이 내가 프로그래밍하는 법을 배운 방법입니다. TI-83 : D를 위해 Tron을 만들었지 만 꽤 느려서 재미는 없었습니다.
Nacht

2
하하 굉장합니다. TI-83 용 블랙 잭 게임을 만들었습니다. 그 과정에서 저는 블랙 잭의 모든 규칙을 매우 친밀하게 배웠습니다.
thomasrutter

44

Sed, 60 55 바이트

( sed입력없이 작업 할 수있는 방법이 없기 때문에 1 자 추가됨 )

s/^/Happy Birthday To You/
h
G
G
G
s/To You/Dear sed/3

확실히 승자가 아니며 n 번째 사건 을 대체하는 sed드문 s///기능 을 보여주기 위해 게시되었습니다 .

bash-4.3$ sed 's/^/Happy Birthday To You/;h;G;G;G;s/To You/Dear sed/3' <<< ''
Happy Birthday To You
Happy Birthday To You
Happy Birthday Dear sed
Happy Birthday To You

Sed (짧지 만 흥미롭지 않음) : 52 자

s/^/Happy Birthday To You/
h
G
p
s/To You/Dear sed/

샘플 실행 :

bash-4.3$ sed 's/^/Happy Birthday To You/;h;G;p;s/To You/Dear sed/' <<< ''
Happy Birthday To You
Happy Birthday To You
Happy Birthday Dear sed
Happy Birthday To You

7
sed답변은 항상 승자입니다. IMO :)
Digital Trauma

더 짧은 대답은 당신이 나열한 52 개가 아니라 51 바이트 인 것으로 보입니다
Taylor Scott

1
@TaylorScott, 상단의 설명도 여기에 적용되었습니다.“( sed입력없이 작업 할 수있는 방법이 없기 때문에 1 개의 문자가 추가되었습니다 .)”.
manatwork

Ahh, 그건 말이됩니다 :)
Taylor Scott

30

C, 73 바이트

main(c){for(;c-5;)printf("Happy Birthday %s\n",++c-4?"To You":"Dear C");}

중요하지 않은 버그 :이어야합니다 i++-3. (현재“Dear c”가 두 번째 줄에 나타납니다.) (단일 변수를 사용하는 동안 이름을“c”로 지정합니다.)
manatwork

상수 고정, 변수 변경 코드를 단축 할 생각이 있습니까?
VX

죄송합니다. 짧아 질 생각이 없습니다. C는 나의 힘이 아니다. (현재 점수조차도 믿을 수 없어서 버그를 발견했습니다.;))
manatwork

12
"친애하는 C"(대문자)가 아니어야합니까?
TRiG

나는 거기에 interpunction 문자도 그리워 ...
VX

27

파이썬, 61 60 59

H="\nHappy Birthday to You"
print(H*3)[:60]+"Dear Python"+H

1
1 바이트를 절약 할 수 있습니다- H="\nHappy Birthday to You"그리고print(H*3)[:59]+" Dear Python"+H
Stretch Maniac

1
이 파이썬 2.7 또는 3입니까?
George

2
@George : 파이썬 2.7 print. 인수에 괄호가 없기 때문에 .
Falko

1
대화식 인터프리터의 출력이 계산됩니까? h="\nHappy Birthday to You";(h*3)[:60]+"Dear Python"+h
THREED

1
공백을 제거 Dear하고로 변경 59하여 하나 더 저장할 수 있습니다 60.
THREED

26

쉬 52

H()(echo Happy Birthday ${@-to You});H;H;H Dear sh;H

3
기본값 매개 변수 확장시 53 자만 사용하십시오 H()(echo Happy Birthday ${@:-to You});H;H;H Dear sh;H.
manatwork

아 정말 좋은 @manatwork!
Digital Trauma

2
매개 변수 확장에서 콜론을 생략 할 수 있습니다. 매개 변수가 설정되지 않은 경우에는 작동 :-하지만 설정되었지만 비어있는 경우도 포함됩니다.

@professorfish Nice-고마워요, 몰랐어요!
Digital Trauma

@DigitalTrauma있는 A 문자를 저장해야 할 경우 좋은 장소가 보는입니다 wiki.bash-hackers.org/syntax/pe - 모든 매개 변수 확장 구문의 목록이있다

22

ArnoldC , 228 바이트

아놀드 슈워제네거의 노래를 불러 보자 ...

IT'S SHOWTIME
TALK TO THE HAND "Happy Birthday to You"
TALK TO THE HAND "Happy Birthday to You"
TALK TO THE HAND "Happy Birthday Dear ArnoldC"
TALK TO THE HAND "Happy Birthday to You"
YOU HAVE BEEN TERMINATED

산출:

Happy Birthday to You
Happy Birthday to You
Happy Birthday Dear ArnoldC
Happy Birthday to you


@squeamishossifrage lol, 고정.
Wasi

16
아마도 당신은 Ahnold lisp를 추가 할 수 있습니다! Hahpy Birfday문자 수를 4만큼 줄입니다.
Compass


19

셰익스피어 프로그래밍 언어 , 3429 바이트

SPL 로 챌린지를 시작 하기에 충분한 사람은 없습니다 .

내 자신의 말, 얼마 전. 그럼에도 불구하고 누군가는 그것을 할 수있을 정도로 치욕 적이었습니다. 예, 알아요 바이트가 너무 많습니다. 그러나 SPL은 여기에 포함될 가치가 있다고 생각합니다. 그리고 생각 날, 나는 (내가 항상 따랐다 수는 조금 반복적 인 이유이며, 대부분 같은 단어를 사용하는 거대한 노력 "골프"이 프로그램을 수행 한 DLosc의 제안을 하지만 심지어 나를 위해 너무 극단적 인 것을) .

A Happy Birth Day

Ajax, a hero
Ford, a man

          Act I: 1

          Scene I: 1

[Enter Ajax and Ford]

Ajax:
 You are nothing!

          Scene II: 2

Ford:
 Am I nicer than the sum of a big cow and a son?

Ajax:
 If so, we shall go to Scene V. You are as big as the sum of thyself and a cat!

          Scene III: 3

Ford:
 You are as red as the sum of a big red warm rich bold fair cat and a big rich fine son.
 Speak thy mind! You are as big as the sum of thyself and the sum of a cute fair fine
 rich cat and a hog! Speak thy mind! You are as big as the sum of thyself and the sum
 of a cute fair fine rich cat and a hog. Speak thy mind. Speak thy mind! You are as bold as
 the sum of thyself and the sum of a big fine fair cat and a cow. Speak thy mind! You are
 as big as a red old fair fine tiny cow. Speak thy mind! You are as old as the sum of
 thyself and the sum of a red old fair fine tiny cow and a big joy. Speak thy mind.
 You are as red as the sum of thyself and the sum of the sum of a red old fair fine
 tiny cow and a rich old red sky and a pig. Speak thy mind! You are as old as the sum
 of thyself and the sum of a big fine fair joy and a son. Speak thy mind. You are as
 red as the sum of thyself and a cute son. Speak thy mind! You are as cute as the sum
 of thyself and the sum of a bad fat vile pig and a fat bad lie. Speak thy mind! You are
 as fat as the sum of thyself and a vile evil war. Speak thy mind! You are as vile as the
 sum of thyself and the sum of a pig and a toad. Speak thy mind! You are as fair as the
 sum of thyself and the sum of a big fair hard fine son and a red fine fair joy. Speak
 thy mind! Are you as old as a big cow?

Ajax:
 If so, we shall go to Scene IV.

Ford:
 You are as big as a red old fair fine tiny cow. Speak thy mind! You are as old as the sum
 of thyself and the sum of the sum of a big red warm rich bold fair cat and a red old fair
 fine tiny cow and a bad hog. Speak thy mind! You are as big as the sum of thyself and the
 sum of a fat bad hog and a war. Speak thy mind! You are as big as a red old fair fine tiny
 cow. Speak thy mind! You are as old as the sum of thyself and the sum of a big red warm
 rich bold fair cat and a fat foul bad hog and a son. Speak thy mind. You are as fat as
 the sum of thyself and the sum of the sum of a big fair hard fine son and a big fine
 fair joy and a bad pig. Speak thy mind. 

Ajax:
 Let us return to Scene II.

          Scene IV: 4

Ford:
 You are as big as a red old fair fine tiny cow. Speak thy mind! You are as old as the
 sum of thyself and a big red warm rich bold fair cat and a warm sky. Speak thy mind.
 You are as fat as the sum of thyself and the sum of a red old fair fine tiny cow and a
 cat. Speak thy mind. You are as fat as the sum of thyself and a bad foul hog. Speak
 thy mind. You are as cute as the sum of thyself and the sum of a big fair hard fine
 son and a sky. Speak thy mind. You are as big as a red old fair fine tiny cow. Speak thy
 mind! You are as old as the sum of thyself and the sum of thyself and the sum of the sum
 of the sum of a red old fair fine tiny cow and a big fair hard fine son and a big joy and
 a son. Speak thy mind. You are as bad as the sum of thyself and the sum of a fat pig and a
 hog. Speak thy mind. You are as fat as the sum of thyself and a lazy pig. Speak thy mind.

Ajax:
 Let us return to Scene II.

          Scene V: 5

[Exeunt]

이 모든 것의 의미는?

이 모든 것이 어떻게 작동하는지 궁금하다면 내 추론을 시도하고 설명해 드리겠습니다. 먼저 변수입니다. 그것들은 셰 익스 페리 안 연극에서 나 왔으며, 트레이 커 수는 중요하기 때문에 작은 것을 선택해야합니다. 따라서, AjaxFord 나타납니다. 선언 된 후에 설명이 필요합니다 (무시되지만 여전히 무시 됨). 한 글자 만 쓸 수 있었지만

제 1 막

var Ajax, Ford; Ford = 0;

우리는 단계로 변수를 가져오고하게 Ajax말해 Ford자신의 값이 0이 될 것입니다.

제 1 막

if (Ford > 2*1+1) goto Scene V; Ford = Ford + 1;

저장된 값 Ford이 3보다 크면 프로그램은 장면 V로 점프합니다. 반면에 그 값은 증가합니다.

1 막

Ford = 2*2*2*2*2*2*1+2*2*2*1; print((char) Ford); Ford = Ford+2*2*2*2*1-1; print((char) Ford); Ford = Ford+2*2*2*2*1-1; print((char) Ford); print((char) Ford); Ford = Ford+2*2*2*1+1; print((char) Ford); Ford = 2*2*2*2*2*1; print((char) Ford); Ford = Ford+2*2*2*2*2*1+2*2*2*1+(-1); print((char) Ford); Ford = Ford+2*2*2*1+1; print((char) Ford); Ford = Ford+2*1; print((char) Ford); Ford = Ford+2*2*2*(-1)+2*2*(-1); print((char) Ford); Ford = Ford+2*2*(-1); print((char) Ford); Ford = Ford+2*(-1)+(-1); print((char) Ford); Ford = Ford+2*2*2*2*1+2*2*2*1; print((char) Ford); if (Ajax == 2*1) goto Scene IV; Ford = 2*2*2*2*2*1; print((char) Ford); Ford = Ford+2*2*2*2*2*2*1+2*2*2*2*2*1+2*(-1); print((char) Ford); Ford = Ford+2*2*(-1)+(-1); print((char) Ford); Ford = 2*2*2*2*2*1; print((char) Ford); Ford = Ford+2*2*2*2*2*2*1+2*2*2*(-1)+1; print((char) Ford); Ford = Ford+2*2*2*2*1+2*2*2*1+2*(-1); print((char) Ford); Ford = Ford+2*2*2*1+2*-1; print((char) Ford); goto Scene II;

선의로드 및로드. 아이디어는 저장된 값으로 바이올린을 만드는 것입니다.Ford 을 사용하여 원하는 문자의 ASCII 숫자를 얻기 위해 많은 수의 연산을 수행 한 다음 컴파일러에게 숫자를 문자 형태로 출력하도록 지시합니다. 그것이 당신이 쓰는 방법 Happy Birthday입니다. 있어 if내부는이 장면 : 아이디어는이 노래의 세 번째 문구가 있는지 확인하는 것입니다; 만약 그렇다면, 우리는 장면 IV로 점프합니다; 그렇지 않으면 우리는 계속해서 글을 쓴다 to You. 그런 다음 Scene II로 돌아갑니다.

1 막, 4 막

Ford = 2*2*2*2*2*1; print((char) Ford); Ford = Ford+2*2*2*2*2*2*1+2*2*1; print((char) Ford); Ford = Ford+2*2*2*2*2*1+1; print((char) Ford); Ford = Ford+2*2*(-1); print((char) Ford); Ford = Ford+2*2*2*2*1+1; print((char) Ford); Ford = 2*2*2*2*2*1; print((char) Ford); Ford = Ford+2*2*2*2*2*1+2*2*2*2*1+2*1+1; print((char) Ford); Ford = Ford+2*(-1)+(-1); print((char) Ford); Ford = Ford+2*2*(-1); print((char) Ford); goto Scene II;

이것이 작동하는 방식은 위의 장면과 비슷합니다 Dear SPL. 아이디어는 글을 쓰는 것 입니다.

1 막, 장면 V

End.

그냥 그렇게

불행히도 테스트 할 수있는 곳을 아직 찾지 못했습니다 ...


나는 당신이 같은 단어를 반복 할 수 있어야한다고 생각합니다 fat fat fat fat cat. 또한 github.com/drsam94/Spl/blob/master/splc.py 를 사용 하여 spl 코드를 컴파일합니다.
clamchowder314

16

루비, 54 바이트

방금 "이봐, 아직 루비 답변이 없다"고 생각했지만,이 질문이 몇 초 전에 나타났습니다. 오 잘 ...

puts h="Happy Birthday to You",h,h[0,15]+"Dear Ruby",h

16

PHP에 대한 사랑? 61 59 58 바이트

$s="
Happy Birthday";echo$t="$s to You","$t$s Dear PHP$t";

동작 @ http://sandbox.onlinephpfunctions.com/에서 참조하십시오


1
과제를 $ t에 첫 번째 출력과 결합합니다.$s="\nHappy Birthday";echo$t="$s to You","$t$s Dear PHP$t";
manatwork

@manatwork 우수한 제안, 감사합니다!
MonkeyZeus

58
아닙니다. PHP에 대한 사랑은 없습니다. 이제까지.
가짜 이름

짧은 태그가있는 동일한 바이트 수 :<?=$t=($s="\nHappy Birthday")." to You","$t$s Dear PHP$t"?>
AmadeusDrZaius

1
\n문자를 저장하려면를 줄 바꿈으로 바꿉니다 .
Christoph

15

나는 단지 하나의 언어로 결정할 수 없습니다 : /

브레인 백 : 68

4 ["Happy birthday ">2 ->![<0 "to You
"]<[<0 "Dear BrainBack
"]<1 -]

BrainBack은 BrainFuck과 Forth의 혼합으로 , 2014 년 3 월 7 일 PCG 도전 과제를 위해 만들어졌습니다.

확장형 BrainFuck : 79

{h|"Happy Birthday ">}{t|"to You
">}&h&t&h&t&h|"Dear Extended BrainFuck
">&h&t

EBF의 생일은 2010 년 7 월 16 일입니다.

계획 : 96

(R5RS, 라켓, R6RS REPL)

(map(lambda(e)(display"Happy Birthday ")(display(if e "to You\n" "Dear Scheme\n")))'(1 1 #f 1))

Scheme은 1975 년 12 월 에 태어났습니다 (NB : PDF)

조조 츠 : 96

((:'R(\(l)(p'|Happy birthday |())(p(?(a l)'|to You|'|Dear Zozotez|))(?(d l)(R(d l)))))'(t t()t))

그러나 프랑스어 로이 작업을 수행하는 것이 더 낫습니다 (86).

((:'A(\(l)(p'|Joyeux anniversaire|())(p(a l))(?(d l)(A(d l)))))'(, , | Zozotez,| |.|))

산출:

Joyeux anniversaire,
Joyeux anniversaire,
Joyeux anniversaire Zozotez,
Joyeux anniversaire.

조조 테 탄생일은 2011 년 7 월 19 일입니다.


4
아마도 가장 힘든 언어 이름 인 "생일 축하합니다 확장 된 Brainfuck"에 +1했습니다. 그럼에도 불구하고 프로그램은 모국어와 동등한 크기의 일부입니다. 그리고 프랑스어로 실제로 더 잘 들리는 Zozotez의 경우, 일반적으로 나는 프랑스어가 사람의 이름을이 노래의 동일한 줄로 짜는 방식을 좋아하지 않습니다.
Level River St

귀하의 Zozotez 답변에서이어야합니다 Joyeux anniversaire à Zozotez.
Beta Decay

2
@BetaDecay 내 (프랑스) 아내에 따르면 그런 전치사가 없어야합니다. 프랑스어 위키 백과가 동의합니다.
Sylwester

14

데드 피쉬 ( 2610 2391 자)

이게 뭐야? 출력 만 도전? 그것이 Deadfish의 직업인 것 같습니다 !

iiisdsiiiiiiiioiiiiiiiiiiiiiiiiiiiiiiiiioiiiiiiiiiiiiiiiooiiiiiiiiiodddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddoddddddddddddddddddddddddsiioiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiioiiiiiiiiioiioddddddddddddoddddodddoiiiiiiiiiiiiiiiiiiiiiiiiodddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddodddddddddddddddddddddsdddddodddddodddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddodddddddddddddddddddddddsiiiiiiiioiiiiiiiiiiiiiiiiiiiiiioiiiiiiodddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddoddsiiiiiiiioiiiiiiiiiiiiiiiiiiiiiiiiioiiiiiiiiiiiiiiiooiiiiiiiiiodddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddoddddddddddddddddddddddddsiioiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiioiiiiiiiiioiioddddddddddddoddddodddoiiiiiiiiiiiiiiiiiiiiiiiiodddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddodddddddddddddddddddddsdddddodddddodddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddodddddddddddddddddddddddsiiiiiiiioiiiiiiiiiiiiiiiiiiiiiioiiiiiiodddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddoddsiiiiiiiioiiiiiiiiiiiiiiiiiiiiiiiiioiiiiiiiiiiiiiiiooiiiiiiiiiodddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddoddddddddddddddddddddddddsiioiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiioiiiiiiiiioiioddddddddddddoddddodddoiiiiiiiiiiiiiiiiiiiiiiiiodddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddoddddddddddddddddddddddddsiiiioiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiioddddoiiiiiiiiiiiiiiiiioddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddoddddddddddddddddddddddddsiiiioiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiioddddoiiioiioiiioiiiiiiiiiiodddddddddddoddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddoddsiiiiiiiioiiiiiiiiiiiiiiiiiiiiiiiiioiiiiiiiiiiiiiiiooiiiiiiiiiodddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddoddddddddddddddddddddddddsiioiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiioiiiiiiiiioiioddddddddddddoddddodddoiiiiiiiiiiiiiiiiiiiiiiiiodddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddodddddddddddddddddddddsdddddodddddodddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddodddddddddddddddddddddddsiiiiiiiioiiiiiiiiiiiiiiiiiiiiiioiiiiiio

불행히도 Deadfish는 정수만 출력하기 때문에 위의 코드는 노래의 각 문자에 대한 ASCII 표현을 출력합니다.

우리가 사양을 사용하면

오류는 인정되지 않습니다 : 쉘은 단순히 개행 문자를 추가합니다!

우리는 이것을 2391 문자로 골프를 칠 수 있습니다.

iiisdsiiiiiiiioiiiiiiiiiiiiiiiiiiiiiiiiioiiiiiiiiiiiiiiiooiiiiiiiiiodddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddoddddddddddddddddddddddddsiioiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiioiiiiiiiiioiioddddddddddddoddddodddoiiiiiiiiiiiiiiiiiiiiiiiiodddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddodddddddddddddddddddddsdddddodddddodddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddodddddddddddddddddddddddsiiiiiiiioiiiiiiiiiiiiiiiiiiiiiioiiiiiiofdddddddddddddddddddddddddddddddddddddddddddddoiiiiiiiiiiiiiiiiiiiiiiiiioiiiiiiiiiiiiiiiooiiiiiiiiiodddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddoddddddddddddddddddddddddsiioiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiioiiiiiiiiioiioddddddddddddoddddodddoiiiiiiiiiiiiiiiiiiiiiiiiodddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddodddddddddddddddddddddsdddddodddddodddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddodddddddddddddddddddddddsiiiiiiiioiiiiiiiiiiiiiiiiiiiiiioiiiiiiofdddddddddddddddddddddddddddddddddddddddddddddoiiiiiiiiiiiiiiiiiiiiiiiiioiiiiiiiiiiiiiiiooiiiiiiiiiodddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddoddddddddddddddddddddddddsiioiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiioiiiiiiiiioiioddddddddddddoddddodddoiiiiiiiiiiiiiiiiiiiiiiiiodddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddoddddddddddddddddddddddddsiiiioiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiioddddoiiiiiiiiiiiiiiiiioddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddoddddddddddddddddddddddddsiiiioiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiioddddoiiioiioiiioiiiiiiiiiiodddddddddddofddddddddddddddddddddddddddddddddoiiiiiiiiiiiiiiiiiiiiiiiiioiiiiiiiiiiiiiiiooiiiiiiiiiodddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddoddddddddddddddddddddddddsiioiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiioiiiiiiiiioiioddddddddddddoddddodddoiiiiiiiiiiiiiiiiiiiiiiiiodddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddodddddddddddddddddddddsdddddodddddodddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddodddddddddddddddddddddddsiiiiiiiioiiiiiiiiiiiiiiiiiiiiiioiiiiiio 

참고 : Deadfish는 실제로 가장 좋아하는 언어는 아니지만 저항 할 수는 없습니다. : P. 또한 Deadfish의 골프는 그 자체로 재미있는 퍼즐입니다.


19
"fun"의 특정 값.
Charles Wood

13

JS, 83 바이트

h="Happy Birthday to You\n",console.log(h,h,h.replace("to You\n","Dear")+" JS\n",h)

또는 @Ingo Bürk의 79 바이트

h="Happy Birthday ",t="to You\n",console.log(h+t,h+t,h+"Dear Javascript\n",h+t)

또는 @kapep에 의해 71 바이트

console.log(a=(b="Happy Birthday ")+"to You\n",a,b+"Dear Javascript\n",a)

또는 콘솔에서이 페이지를 실행하십시오 (42 바이트)

eval($("#answer-39759 code:first").text())

4
또한, 더 짧습니다 : h='Happy Birthday ',t='to You\n';console.log(h+t,h+t,h+'Dear Javascript\n',h+t)(여전히 prompt더 많이 절약하기 위해 사용할 수 있습니다 )
Ingo Bürk

11
마지막 코드에서 LOL .. : D
Optimizer

1
76 :t='to you\n';console.log(h='Happy birthday',t+h,t+h,'dear JavaScript\n'+h,t)
NinjaBearMonkey

1
71 :console.log(a=(b="Happy Birthday ")+"to You\n",a,b+"Dear Javascript\n",a)
kapex

3
대신 console.log 경고, 대괄호 2 개 더 필요하지만 더 짧음 : alert((t=(h="Happy Birthday ")+'to You\n')+t+h+'dear EcmaScript\n'+t)69
edc65

11

R : 70 바이트

을 활용 paste및 벡터 재활용.

writeLines(paste(rep("Happy Birthday",4),c(rep("to You",2),"Dear R")))

cat(paste(rep("Happy Birthday",4),c(rep("to You",2),"Dear R"),'\n'))
germcd

@germcd cat문자열 사이에 공백을 추가하기 때문에 작동하지 않습니다 . 따라서 첫 줄을 제외하고 각 줄의 시작 부분에 공백이 생깁니다.
bdzimmer

write(x,"")-> write(paste(rep("Happy Birthday",4),c(rep("to You",2),"Dear R")),"")68 바이트 다음은 73 p=paste;write(c(i<-p(h<-"Happy Birthday","to You"),i,p(h,"Dear R"),i),"")벡터 재활용을 사용한 독창적 인 솔루션입니다 .
Vlo

66 바이트로 `~`=rep;write(paste("Happy Birthday"~4,c("to You"~2,"Dear R")),"") 줄임 tio.run/##K/r/…
Nick Kennedy

11

T-SQL, 89 87 바이트

편집 : 아마이 오래된 것들을 준설해서는 안되지만, 나는 몇 바이트를 되찾기 위해 이것에 대한 명백한 변화를 발견했습니다.

STUFF를 사용하여 원하지 않는 문자열 부분을 제거하면 시작 색인 FROM에 3을 곱한 절의 값이 제공됩니다.

SELECT STUFF('Happy Birthday to You  Dear SQL',N,8,'')FROM(VALUES(24),(24),(15),(24))S(N)

이거 좋네요!
TLama

이것은 훌륭한 SQL 솔루션이며 매우 좋은 트릭입니다!
BradC

9

GNU DC, 51

[Happy Birthday to You]d[Happy Birthday Dear dc]rdf

3
나는 또한 시도했지만 dc거의 원시 버전조차도 더 짧습니다 : [Happy Birthday To You]d[Happy Birthday Dear dc]rdf51 문자.
manatwork

오늘 @manatwork에서 롤 :)
디지털 외상

3
이 게시물 때문에 오늘 dc의 존재에 대해 배웠으며 훌륭합니다.
Caleb Paul

9

펄-58

say"Happy Birthday ".($_?"Dear Perl":"To You")for(0,0,1,0)

로 실행 :

perl -E'say"Happy Birthday ".($_?"Dear Perl":"To You")for(0,0,1,0)'

재미로:

perl -E'for(<HappyBirthday{0,1,2,3}>){s/B/ B/;s/2/ Dear Perl\n/;print s/\d/ To You\n/r}'

6
어때요 say"Happy Birthday $_"for("to You","Dear Perl")[0,0,1,0]?
core1024

@ core1024 배열로 그렇게 할 수 있다는 것을 몰랐습니다. 자신의 답변으로 자유롭게 게시하십시오!
hmatt1

8

파이썬 507 바이트

"" "인쇄
H ap py- Bir th day -to-Y ou = 행복한-B irt hday
-~-ou = H appy-B irthday-D e
ar-P ython = 해피-Bir t hda y -to-y o uHapp y-
B 어제-~-Y ou = H 앱
y-B irth day -to-Y ou = H a ppy-B ir
"" ".replace ("\ n "," "). replace (" "," "). replace ("- "," ") .replace ("= ","\ n ") [: 92]

상을 수상하지는 않지만 ... 상세하게 살펴보면 ASCII 아트가 있습니다.

# # ### ### # # ### ##### ### ###### # # ### # # # # #
# # # # # # # # # # # # # # # # # # # # # # # # #
#### ##### ### ### # ### # ### # #### # # ##### # # #
# # # # # # # # # # # # # # # # # # #
# # # # # # # ### ##### # # # # # ### # # # # #

이것은 심각한 경쟁자가 아닙니다.
Esolanging 과일

3
@ Challenger5 예, "그러나 나는 또한 투표로 다른 재치있는 제출물에 보상하고 있습니다 (그리고 모든 사람들에게도 그렇게하도록 권장합니다). 이것은 이것이 골프 골프 대회이지만, 짧은 답변도 환영합니다. "
Alex

7

PowerShell- 69 64 59

1,1,0,1|%{"Happy Birthday "+("Dear $ShellId","To You")[$_]}

그리고 91

$a,$b,$c="Happy Birthday.To You.Dear PowerShell".Split(".");1..2|%{"$a $b"};"$a $c";"$a $b"

108

$a=@();$b,$c="To You.Dear PowerShell".Split(".");1..4|%{$a+="Happy Birthday $b"};$a[2]=$a[2]-replace$b,$c;$a

6

루비, 56

x="Happy Birthday To You
"*4
x[59,6]="Dear Ruby"
puts x

인라인 할 수 없습니까?
Optimizer

2
로 끝나는 메소드는 =항상 등호 뒤의 표현식 결과를 리턴합니다. 이것을 인라인하면 인쇄 만됩니다 "Dear Ruby"( String#[]=방법입니다).
britishtea

1
> 문자열의 줄 바꿈. 좋아, 이제 루비가 부두 마술이라는 것을 완전히 확신하고 농민으로서 대신 파이썬을 고수해야합니다.
sagiksp

6

놀라운 , 151

입력이 또는 인지에 따라 호출 되거나 추가 되거나 호출 Happy Birthday될 때마다 인쇄 합니다 . 전달 된 구슬 은 동기화기에 멈출 것이므로 출력되지 않습니다 .hbto youDear Marbelous01hb&0

03
00
02
01
hb
:hb
}0
=0&0
&1
&2//
746F20596F7544656172204D617262656C6F75730A
&0&0&0&0&0&0&1&1&1&1&1&1&1&1&1&1&1&1&1&1&2
486170707920426972746864617920

아래는 hb16 진수가 ASCII 텍스트로 변환 된 보드입니다 . enter image description here


5

CJam, 46 바이트

4,{"Happy Birthday "\2="Dear CJam""to You"?N}%

여기에서 시도하십시오.

4,                                             "Push [0,1,2,3].";
  {                                         }% "Map...";
   "Happy Birthday "                           "Push the string.";
                    \                          "Swap top two stack elements (string and
                                                array element)";
                     2=                        "Check equality with 2.";
                       "Dear CJam""to You"     "Push two more strings.";
                                          ?    "Select string based on result of 2=.";
                                           N   "Push a line break";

스택에 다음 배열이 남습니다.

["Happy Birthday " "to You" "\n" "Happy Birthday " "to You" "\n" "Happy Birthday " "Dear CJam" "\n" "Happy Birthday " "to You" "\n"]

프로그램 종료시 내용이 자동으로 연속 인쇄됩니다.

또는 for 루프와 동일한 문자 수를 사용하십시오.

4{"Happy Birthday "I2="Dear CJam""to You"?N}fI

5
거짓말 쟁이 !! 가장 좋아하는 언어는 Ruby / Mathematica : P
Optimizer

1
@Optimizer 확실히 루비는 아니지만 Mathematica 일 수도 있지만 확실하지는 않습니다. "실제"프로그래밍의 경우 아마도 항상 C / C ++ / C #을 선택했을 것입니다. (나는 당신이 JS 것을, 또한 확신 해요 : P.)
마틴 청산

5
당신은 저를 얻었다 : P : D
Optimizer

5

하스켈 : 75

h="Happy Birthday "
y=h++"to You"
main=mapM_ print[y,y,h++"Dear Haskell",y]

이데온의 코드 출력

하스켈 원 라이너 : 79

mapM_ print["Happy Birthday "++if x==3then"Dear Haskell"else"to You"|x<-[1..4]]

하나의 라이너를 온라인으로 사용해보십시오 : http://tryhaskell.org/


1
한 캐릭터를 깎는 라이너 :mapM_(print.("Happy Birthday "++))["to You","to You","dear Haskell","to You"]
Alex Reinking

목록 이해는 soooo loooonnnngggggg
Alex Reinking

2
또한 기술적으로 putStrLn사양을 준수해야합니다 (와 함께 큰 따옴표를 사용하십시오 print)
Alex Reinking

2
_주요의 반환 값은 버려 있기 때문에 필요하지 않습니다 - 당신은 단지 GHCi에서 볼
자랑 haskeller

5

바라 큐-121

"Happy Birthday " ~ a cher "to you\n" tlheghrar ~ b cher b tlheghrar a "dear Var'aQ" tlheghrar tlheghrar b tlheghrar cha'

1
Qapla '! 모든 언어의 Var'aQ 사용시 +1!
WallyWest

5

GolfScript : 54 자

4,{"Happy Birthday "["To You""Dear GolfScript"]@2==n}%

샘플 실행 :

bash-4.3$ golfscript.rb <<< '4,{"Happy Birthday "["To You""Dear GolfScript"]@2==n}%'
Happy Birthday To You
Happy Birthday To You
Happy Birthday Dear GolfScript
Happy Birthday To You

방금 알아 notice어요 (골프 스크립트 코드를 5 ~ 6 시간 정도 작성하면 부작용이 발생합니다.) 감사합니다. @ MartinBüttner.
manatwork

1
생일 축하합니다 CodeGolf ?
Dennis

Grr. 나는 그것을 쓸 때뿐만 아니라 그것을 고칠 때도 피곤했습니다. 감사합니다 @Dennis.
manatwork 8

5

T-SQL (MS 호환) : 75

print stuff(replicate('Happy Birthday to You '+char(10),4),62,6,'Dear SQL')

좋은 점은 ... 내가 생각한 바램 :)
MickyT

좋은 생각이야! +char(10)따옴표 안에 줄 바꿈 으로 바꾸어 9 바이트를 더 절약하십시오 . 문자열의 반환 부분을 만드십시오.
BradC

5

C # (75) (73)

사용 System.Diagnostics의 목적을 위해Debug.Print

@Abbas 코드로 업그레이드

string x="\nHappy Birthday ",y=x+"to You";Debug.Print(y+y+x+"Dear C#"+y);

@Tyress '코드로 업그레이드 (83) (76)

for(int i=0;i++<4;)Debug.Print("Happy Birthday "+(i!=3?"to You":"Dear C#"));

산출:

Happy Birthday To You
Happy Birthday To You
Happy Birthday Dear C#
Happy Birthday To You

2
String.Format및 삼항 연산자를 사용하여 두 문자를 저장할 수 있습니다 . 또한이 훨씬 덜 C # 프로그램 사용처럼 보이게 할 수 있습니다 i++<3; P
FryAmTheEggman
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.