ร้องเพลงสุขสันต์วันเกิดให้เป็นภาษาที่คุณโปรดปราน


119

ภาษาการเขียนโปรแกรมที่คุณชื่นชอบเพิ่งมีวันเกิด จะดีและร้องเพลงมันสุขสันต์วันเกิดเพลง

แน่นอนคุณควรทำสิ่งนี้โดยการเขียนโปรแกรมในภาษานั้น โปรแกรมไม่รับอินพุตและเขียนข้อความต่อไปนี้ไปยังเอาต์พุตมาตรฐานหรือไฟล์ที่กำหนดเอง:

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

คุณควรแทนที่ส่วนที่อยู่ในวงเล็บ (และไม่ใส่วงเล็บ)

นี่คือการแข่งขันกอล์ฟรหัส - รหัสที่สั้นที่สุดชนะ

UPDATE

ฉันดีใจที่คำถามกระตุ้นความสนใจอย่างมาก ให้ฉันเพิ่มข้อมูลพิเศษเกี่ยวกับการให้คะแนน ตามที่ระบุไว้เดิมคำถามนี้เป็นรหัสกอล์ฟดังนั้นรหัสที่สั้นที่สุดจะชนะ ผู้ชนะจะถูกเลือกในตอนท้ายของสัปดาห์นี้ (19 ตุลาคม)

อย่างไรก็ตามฉันยังให้รางวัลการส่งไหวพริบอื่น ๆ ด้วยการโหวตมากขึ้น (และฉันขอแนะนำให้ทุกคนทำเช่นกัน) ดังนั้นถึงแม้ว่านี่จะเป็นการแข่งขันที่เป็นรหัสกอล์ฟ

ผล

ขอแสดงความยินดีที่จะเพิ่มประสิทธิภาพผู้ที่ชนะในการประกวดครั้งนี้มี 42 ไบต์ยาว CJam เขาส่ง


2
เราสามารถนับชื่อของภาษาการเขียนโปรแกรมเป็นหนึ่งไบต์เพราะมันดูเหมือนจะยุติธรรมกับคนที่เขียนโค้ดในภาษาที่ยืดเยื้อเช่นจาวาสคริปต์กับคนที่ทำมันในซีเรากำลังมองหาตรรกะที่สร้างสรรค์ที่สุดใช่ไหม?
MonkeyZeus

14
ทำไม upvotes ทั้งหมดสำหรับเรื่องนี้แม้จะมี downvotes ทั้งหมดสำหรับเพลง Bonbon ? นี่เป็นเพียงความท้าทายที่น่าเบื่อ
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

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 wryt n lwrcase insyd t kwotez? KTHXBYE
เลเวลริเวอร์เซนต์

2
ฉันพยายามเขียนคำตอบ LOLCODE ไปอีกความท้าทายสักครู่ แต่มันก็ละเอียดเกินไปสำหรับการตีกอล์ฟโค้ดและมันขาดโครงสร้างข้อมูลที่เหมาะสมและความสามารถในการสร้างฟังก์ชั่นที่ซับซ้อน
ฉันตื่นตระหนกกับมนุษย์ต่างดาว

3
คำตอบนี้ทำให้ฉันอยากดาวน์โหลด LOCODE และเรียนรู้มันอย่างถูกต้อง
Pharap

2
มันเยี่ยมมาก !!
AStopher

89

บาร์โค้ดอวยพรวันเกิด Mathematica- มีจำนวนไบต์มากเกินไป

สิ่งนี้จะพิมพ์ข้อและอ่านออกเสียง

สุขสันต์วันเกิด

สุขสันต์วันเกิดให้คุณ
สุขสันต์วันเกิดให้คุณ
สุขสันต์วันเกิดที่รัก Mathematica
สุขสันต์วันเกิดให้คุณ

StringReplaceแทนที่แต่ละเครื่องหมายจุลภาคด้วย NewLine บาร์โค้ดไม่สามารถมีอักขระควบคุมได้


13
ฉันไม่เห็นปุ่มบาร์โค้ดบนแป้นพิมพ์ของฉัน! ฉันจะทดสอบสิ่งนี้ได้อย่างไร
matsjoyce

17
ฉันรักที่มี10ในบาร์โค้ด (มุมล่างขวา) เห็นว่าBarcodeRecognizeถูกนำมาใช้ใน Mathematica 10 ^^
Martin Ender

ใช่ ฉันไม่ได้สังเกตว่า
DavidC

11
ฉันสแกนสิ่งนี้ด้วยเครื่องอ่านรหัส QR มันมีช่องว่างเพิ่มเติมหลังจากคอมม่าทุกอันคุณไม่สามารถบันทึกไบต์ได้ถ้าคุณ - โอ้รอ ไม่เป็นไร.
Timwi

55

TI-Basic, 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 ตัวอักษร) ในการแสดงความคิดเห็นมากกว่าแค่การแก้ไขหรือไม่ นั่นจะทำให้ฉันรู้สึกว่านี่ยังเป็นคำตอบของฉัน
ยืด Maniac

2
1 !! นั่นคือวิธีที่ฉันเรียนรู้ที่จะเขียนโปรแกรมด้วย ฉันสร้างตรอนสำหรับ TI-83: ​​D มันค่อนข้างช้า แต่ก็ไม่สนุก
Nacht

2
ฮ่าฮ่ามันยอดเยี่ยมมาก ฉันสร้างเกมแบล็คแจ็คสำหรับ TI-83 ในกระบวนการฉันเรียนรู้กฎทั้งหมดของแบล็คแจ็คอย่างใกล้ชิด
thomasrutter

44

Sed, 60 55 ไบต์

(เพิ่ม 1 อักขระเนื่องจากไม่มีวิธีsedทำงานโดยไม่มีอินพุต)

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

แน่นอนไม่ได้เป็นผู้ชนะการโพสต์แสดงให้เห็นถึงsedหายากs///คุณลักษณะของการแทนที่เพียงn วันเกิด

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

ถูก (สั้น แต่ไม่น่าสนใจ): 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

คำตอบที่สั้นกว่านั้นดูเหมือนจะเป็น 51 ไบต์แทนที่จะเป็น 52 คุณระบุไว้
Taylor Scott

1
@TaylorScott คำอธิบายที่ด้านบนก็มีเช่นกัน:“ (เพิ่ม 1 ตัวอักษรเพราะไม่มีทางที่sedจะทำงานหากไม่มีอินพุต)”
จัดการ

อ่าที่ทำให้รู้สึก :)
เทย์เลอร์สกอตต์

30

C, 73 ไบต์

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

ข้อผิดพลาดที่ไม่มีนัยสำคัญ: i++-3ควรจะเป็น (ปัจจุบัน“ Dear c” ปรากฏในบรรทัดที่ 2) (ในขณะที่ใช้ตัวแปรเดี่ยวฉันจะตั้งชื่อมันว่า“ c”)
manatwork

คงที่ตัวแปรเปลี่ยนแปลงไป มีแนวคิดใดที่จะทำให้รหัสสั้นลง
VX

ขออภัยไม่มีความคิดที่จะย่อ C ไม่ใช่พลังของฉัน (ฉันพบข้อผิดพลาดเพราะแม้แต่คะแนนปัจจุบันของคุณก็ไม่น่าเชื่อสำหรับฉันจนฉันต้องลองดู)
จัดการ

12
ไม่ควรจะเป็น "Dear C" (ตัวพิมพ์ใหญ่) ใช่ไหม
TRiG

ฉันยังคิดถึงตัวอักษรที่มี ...
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
ยืด Maniac

1
หลาม 2.7 หรือ 3 นี้หรือไม่
George

2
@George: Python 2.7 เนื่องจากไม่มีเครื่องหมายวงเล็บอยู่รอบ ๆprintอาร์กิวเมนต์
Falko

1
เอาต์พุตจากล่ามแบบโต้ตอบนับได้หรือไม่ h="\nHappy Birthday to You";(h*3)[:60]+"Dear Python"+h
ตกลง

1
คุณสามารถบันทึกอีกหนึ่งโดยการเอาพื้นที่ก่อนDearและการเปลี่ยนแปลงไป59 60
ตกลง

26

sh, 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ตัวอักษร:
จัดการ

Ooh @atatwork ที่ดีมาก!
Digital Trauma

2
คุณสามารถละเว้นโคลอนในการขยายพารามิเตอร์ได้ - ซึ่งจะทำงานถ้าพารามิเตอร์ไม่เคยถูกตั้งค่าในขณะที่:-ยังครอบคลุมกรณีเมื่อมันถูกตั้งค่า แต่ว่างเปล่า

@professorfish Nice - ขอบคุณฉันไม่รู้เหมือนกัน!
Digital Trauma

@DigitalTrauma สถานที่ที่ดีที่จะดูว่าคุณต้องการบันทึกตัวละครหรือไม่คือwiki.bash-hackers.org/syntax/pe - มีรายการของไวยากรณ์การขยายพารามิเตอร์ทั้งหมด

22

ArnoldC , 228 ไบต์

ช่วยให้Arnold Schwarzeneggerร้องเพลง ...

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
เข็มทิศ


19

ภาษาการเขียนโปรแกรมของเช็คสเปียร์ 3429 ไบต์

ไม่มีใครที่จะได้รับ demented มากพอที่จะเข้าสู่ความท้าทายกับ 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]

ความหมายทั้งหมดนี้คืออะไร?

ตกลงถ้าคุณอยากรู้ว่ามันควรจะทำงานยังไงให้ฉันลองอธิบายเหตุผลของฉัน ประการแรกคือตัวแปร พวกเขาต้องมาจากบทละครของเชคสเปียเรียนและเนื่องจากการนับตัวละครเป็นสิ่งสำคัญเราจึงต้องเลือกตัวละครเล็ก ๆ ดังนั้นAjaxและFordปรากฏ พวกเขาต้องการคำอธิบายหลังจากถูกประกาศ (ซึ่งถูกละเว้น แต่ก็ยัง) ฉันอาจใช้จดหมายฉบับเดียว แต่เฮ้

Act I, Scene I

var Ajax, Ford; Ford = 0;

เรานำตัวแปรมาสู่สเตจและAjaxบอกFordว่าคุณค่าของเขาจะเป็น 0

Act I, Scene II

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

ตกลงถ้าค่าที่เก็บไว้มีค่าFordมากกว่า 3 โปรแกรมจะข้ามไปที่ฉาก V; otherwhise มูลค่าของมันจะเพิ่มขึ้น

Act I, Scene III

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ต่อไป หลังจากนั้นเรากระโดดกลับไปที่ซีน II

Act I, ฉากที่สี่

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ความคิดที่จะเขียน

Act I, ฉาก V

End.

เป็นแบบนั้น.

ฉันยังไม่พบสถานที่ที่สามารถทำการทดสอบได้โชคไม่ดี ...


fat fat fat fat catฉันคิดว่าคุณควรจะสามารถที่จะทำซ้ำคำเช่น นอกจากนี้ฉันใช้github.com/drsam94/Spl/blob/master/splc.pyเพื่อรวบรวมรหัส spl ของฉัน
clamchowder314

16

Ruby, 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 ข้อเสนอแนะที่ยอดเยี่ยมขอบคุณ!
MonkeyZeus

58
ไม่ไม่มีความรักสำหรับ PHP เคย
ชื่อปลอม

จำนวนไบต์เดียวกันกับแท็กสั้น ๆ :<?=$t=($s="\nHappy Birthday")." to You","$t$s Dear PHP$t"?>
AmadeusDrZaius

1
แทนที่\nด้วยตัวแบ่งบรรทัดจริงเพื่อบันทึกอักขระ
Christoph

15

ฉันไม่สามารถตัดสินใจได้เพียงภาษาเดียว: /

BrainBack: 68

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

BrainBack เป็นการผสมผสานระหว่าง BrainFuck และ Forth สร้างขึ้นเพื่อการท้าทาย PCG เมื่อวันที่ 7 มีนาคม 2014

BrainFuck เพิ่มเติม : 79

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

วันเกิดของ EBF คือ16 กรกฎาคม 2010

จำนวนโครงการ: 96

(R5RS แร็กเก็ต R6RS REPL)

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

โครงการเกิดเมื่อธันวาคม 2518 (NB: PDF)

Zozotez : 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.

วันเกิดของ Zozotez คือ19 กรกฎาคม 2011


4
+1 สำหรับ "สุขสันต์วันเกิดที่รัก Extended Brainfuck" อาจเป็นชื่อภาษาที่ลำบากที่สุดที่นี่ แต่โปรแกรมนั้นเป็นเพียงเศษเสี้ยวของขนาดเทียบเท่าสำหรับภาษาแม่ และสำหรับ Zozotez ซึ่งฟังดูดีกว่าในภาษาฝรั่งเศส แต่โดยทั่วไปแล้วฉันไม่ชอบวิธีที่ชาวฝรั่งเศสบีบชื่อของบุคคลนั้นให้เป็นแนวเดียวกันสำหรับเพลงนี้
เลเวลริเวอร์เซนต์

ในการตอบ Zozotez Joyeux anniversaire à Zozotezของคุณก็ควรจะ
Beta Decay

2
@BetaDecay ตามภรรยา (ฝรั่งเศส) ของฉันมันควรจะเป็นโดยไม่มีคำบุพบทเช่นนั้น วิกิพีเดียภาษาฝรั่งเศสเห็นด้วย
Sylwester

14

Deadfish ( 2610 2391 ตัวอักษร)

นี่อะไรน่ะ? การส่งออกที่ท้าทายเท่านั้น? ฟังดูเหมือนเป็นงานของDeadfish !

iiisdsiiiiiiiioiiiiiiiiiiiiiiiiiiiiiiiiioiiiiiiiiiiiiiiiooiiiiiiiiiodddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddoddddddddddddddddddddddddsiioiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiioiiiiiiiiioiioddddddddddddoddddodddoiiiiiiiiiiiiiiiiiiiiiiiiodddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddodddddddddddddddddddddsdddddodddddodddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddodddddddddddddddddddddddsiiiiiiiioiiiiiiiiiiiiiiiiiiiiiioiiiiiiodddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddoddsiiiiiiiioiiiiiiiiiiiiiiiiiiiiiiiiioiiiiiiiiiiiiiiiooiiiiiiiiiodddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddoddddddddddddddddddddddddsiioiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiioiiiiiiiiioiioddddddddddddoddddodddoiiiiiiiiiiiiiiiiiiiiiiiiodddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddodddddddddddddddddddddsdddddodddddodddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddodddddddddddddddddddddddsiiiiiiiioiiiiiiiiiiiiiiiiiiiiiioiiiiiiodddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddoddsiiiiiiiioiiiiiiiiiiiiiiiiiiiiiiiiioiiiiiiiiiiiiiiiooiiiiiiiiiodddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddoddddddddddddddddddddddddsiioiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiioiiiiiiiiioiioddddddddddddoddddodddoiiiiiiiiiiiiiiiiiiiiiiiiodddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddoddddddddddddddddddddddddsiiiioiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiioddddoiiiiiiiiiiiiiiiiioddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddoddddddddddddddddddddddddsiiiioiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiioddddoiiioiioiiioiiiiiiiiiiodddddddddddoddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddoddsiiiiiiiioiiiiiiiiiiiiiiiiiiiiiiiiioiiiiiiiiiiiiiiiooiiiiiiiiiodddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddoddddddddddddddddddddddddsiioiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiioiiiiiiiiioiioddddddddddddoddddodddoiiiiiiiiiiiiiiiiiiiiiiiiodddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddodddddddddddddddddddddsdddddodddddodddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddodddddddddddddddddddddddsiiiiiiiioiiiiiiiiiiiiiiiiiiiiiioiiiiiio

น่าเสียดายที่เนื่องจาก Deadfish ส่งออกเป็นจำนวนเต็มเท่านั้นโค้ดข้างต้นจะแสดงการแทน ASCII ของตัวละครแต่ละตัวในเพลง

ถ้าเราใช้สเปคนั้น

ไม่ยอมรับข้อผิดพลาด: เชลล์เพียงเพิ่มอักขระบรรทัดใหม่!

จากนั้นเราสามารถเล่นกอล์ฟถึง 2391 ตัวอักษร:

iiisdsiiiiiiiioiiiiiiiiiiiiiiiiiiiiiiiiioiiiiiiiiiiiiiiiooiiiiiiiiiodddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddoddddddddddddddddddddddddsiioiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiioiiiiiiiiioiioddddddddddddoddddodddoiiiiiiiiiiiiiiiiiiiiiiiiodddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddodddddddddddddddddddddsdddddodddddodddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddodddddddddddddddddddddddsiiiiiiiioiiiiiiiiiiiiiiiiiiiiiioiiiiiiofdddddddddddddddddddddddddddddddddddddddddddddoiiiiiiiiiiiiiiiiiiiiiiiiioiiiiiiiiiiiiiiiooiiiiiiiiiodddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddoddddddddddddddddddddddddsiioiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiioiiiiiiiiioiioddddddddddddoddddodddoiiiiiiiiiiiiiiiiiiiiiiiiodddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddodddddddddddddddddddddsdddddodddddodddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddodddddddddddddddddddddddsiiiiiiiioiiiiiiiiiiiiiiiiiiiiiioiiiiiiofdddddddddddddddddddddddddddddddddddddddddddddoiiiiiiiiiiiiiiiiiiiiiiiiioiiiiiiiiiiiiiiiooiiiiiiiiiodddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddoddddddddddddddddddddddddsiioiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiioiiiiiiiiioiioddddddddddddoddddodddoiiiiiiiiiiiiiiiiiiiiiiiiodddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddoddddddddddddddddddddddddsiiiioiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiioddddoiiiiiiiiiiiiiiiiioddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddoddddddddddddddddddddddddsiiiioiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiioddddoiiioiioiiioiiiiiiiiiiodddddddddddofddddddddddddddddddddddddddddddddoiiiiiiiiiiiiiiiiiiiiiiiiioiiiiiiiiiiiiiiiooiiiiiiiiiodddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddoddddddddddddddddddddddddsiioiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiioiiiiiiiiioiioddddddddddddoddddodddoiiiiiiiiiiiiiiiiiiiiiiiiodddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddodddddddddddddddddddddsdddddodddddodddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddodddddddddddddddddddddddsiiiiiiiioiiiiiiiiiiiiiiiiiiiiiioiiiiiio 

หมายเหตุ: Deadfish ไม่ใช่ภาษาที่ฉันชอบจริง ๆแต่ฉันไม่สามารถต้านทานได้: P การเล่นกอล์ฟใน Deadfish ก็เป็นปริศนาที่สนุกด้วยตัวมันเอง


19
สำหรับค่าบางอย่างของ "ความสนุก"
Charles Wood

13

JS, 83 ไบต์

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

หรือ 79 ไบต์โดย @Ingo Bürk

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

หรือ 71 ไบต์โดย @kapep

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
เครื่องมือเพิ่มประสิทธิภาพ

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
Alert แทน 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 ไบต์ นี่คือโซลูชันดั้งเดิมของฉันที่มีp=paste;write(c(i<-p(h<-"Happy Birthday","to You"),i,p(h,"Dear R"),i),"")การรีไซเคิลเวกเตอร์73 ครั้งฉันชนะอีกครั้ง
Vlo

ลดเหลือ 66 bytes `~`=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 :)
Digital Trauma

3
ฉันได้เรียนรู้การมีอยู่ของ DC วันนี้เพราะโพสต์นี้และมันยอดเยี่ยม
Caleb Paul

9

Perl - 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

Python 507 ไบต์

พิมพ์ "" "
H ap py- วันที่ Bir -to-Y ou = มีความสุข - B irt hday
- ถึง - Y ou = H แอปเปิ้ล - B irthday - D e
ar-P ython = ฮา ppy - Bir t hda y -to- Y o uHapp y -
B irthday - ถึง - Y ou = H แอพ
y - B วันเกิด -to-Y ou = H a ppy - B ir
"" ".replace (" \ n "," "). แทนที่ (" "," "). แทนที่ (" - "," ") .replace (" = "," \ n ") [: 92]

ไม่ได้รับรางวัลใด ๆ ... แต่ถ้าคุณดูอย่างระมัดระวังจะมีงานศิลปะ ASCII บางส่วน:

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

นี่ไม่ใช่คู่แข่งที่ร้ายแรง
แยกผลไม้

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

คุณไม่สามารถทำสิ่งต่างๆภายในหรือไม่
เครื่องมือเพิ่มประสิทธิภาพ

2
เมธอดที่ลงท้ายด้วย=จะส่งคืนผลลัพธ์ของนิพจน์เสมอหลังเครื่องหมายเท่ากับ ถ้าฉันขีดเส้นใต้นี้มันจะพิมพ์เท่านั้น"Dear Ruby"( String#[]=เป็นวิธีการ)
britishtea

1
> บรรทัดใหม่ในสตริง โอเคตอนนี้ฉันเชื่ออย่างสมบูรณ์แล้วว่าทับทิมเป็นเพียงเวทมนตร์ของวูดูและในฐานะชาวนาฉันควรติดกับงูหลามแทน
sagiksp

6

Marbelous , 151

พิมพ์Happy Birthdayทุกครั้งที่hbถูกเรียกด้วยto youหรือDear Marbelousท้ายขึ้นอยู่กับว่าใส่เป็นหรือ0 1ในหินอ่อนผ่านhbจะไม่ได้ออกมาตามที่มันจะได้รับการติดอยู่ใน &0synchroniser

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

ด้านล่างนี้เป็นบอร์ดhbโดยมีเลขฐานสิบหกแปลงเป็นข้อความ ASCII: ป้อนคำอธิบายรูปภาพที่นี่


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-loop และจำนวนตัวอักษรเดียวกัน:

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

5
โกหก !! ภาษาที่คุณชื่นชอบคือ Ruby / Mathematica: P
Optimizer

1
@Optimizer แน่นอนว่าไม่ใช่ Ruby บางที Mathematica แต่ฉันก็ไม่แน่ใจด้วยซ้ำ สำหรับการเขียนโปรแกรม "ของจริง" ฉันอาจเลือก C / C ++ / C # เสมอ (ฉันก็ค่อนข้างแน่ใจว่าคุณคือ JS: P.)
Martin Ender


5

Haskell: 75

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

เอาท์พุทรหัสใน ideone

Haskell หนึ่งสายการบิน: 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"]
อเล็กซ์ Reinking

รายการความเข้าใจคือ soooo loooonnnnggggg
Alex Reinking

2
นอกจากนี้ในทางเทคนิคแล้วควรเป็นputStrLnไปตามข้อกำหนด (คุณได้รับการเสนอราคาสองเท่าprint)
Alex Reinking

2
_ไม่จำเป็นเพราะค่าตอบแทนของหลักจะโยนทิ้งไป - คุณจะเห็นมันใน GHCi
ความภาคภูมิใจ haskeller

5

Var'aQ - 121

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

1
Qapla '! +1 สำหรับการใช้ Var'aQ ของทุกภาษา!
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

ฉันเพิ่งสังเกตเห็นมัน (ผลข้างเคียงเล็กน้อยจากการพยายามเขียนรหัส GolfScript ประมาณ 5 ~ 6 ชั่วโมง) ขอบคุณ @ MartinBüttner
จัดการ

1
สุขสันต์วันเกิดเรียนCodeGolf ?
เดนนิส

Grr ฉันเหนื่อยไม่เพียง แต่เมื่อเขียนมัน แต่ยังแก้ไขเมื่อ ขอบคุณ @Dennis
จัดการ

5

T-SQL (สอดคล้องกับ MS): 75

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

เป็นคนที่ดี ... หวังว่าฉันจะนึกถึง :) :)
MickyT

ความคิดที่ดี! บันทึก 9 ไบต์เพิ่มเติมโดยแทนที่+char(10)ด้วยตัวแบ่งบรรทัดภายในเครื่องหมายคำพูดเพียงแค่ทำให้ส่วนที่ส่งคืนของสตริง
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.