बेबी शार्क गाओ


68

"बेबी शार्क" शार्क के परिवार के बारे में एक बच्चों का गीत है। लंबे समय से कैम्प फायर गीत के रूप में लोकप्रिय होने के बाद, इसे 2000 के दशक के मध्य से सोशल मीडिया, ऑनलाइन वीडियो और रेडियो द्वारा लोकप्रिय बनाया गया है। - विकिपीडिया

प्रोग्राम लिखें जो कोई इनपुट नहीं लेता है, और मानक आउटपुट या एक मनमानी फ़ाइल के लिए निम्न पाठ लिखता है:

Baby Shark doo doo doo doo doo doo
Baby Shark doo doo doo doo doo doo
Baby Shark doo doo doo doo doo doo
Baby Shark!
Daddy Shark doo doo doo doo doo doo
Daddy Shark doo doo doo doo doo doo
Daddy Shark doo doo doo doo doo doo
Daddy Shark!
Mommy Shark doo doo doo doo doo doo
Mommy Shark doo doo doo doo doo doo
Mommy Shark doo doo doo doo doo doo
Mommy Shark!
Grandpa Shark doo doo doo doo doo doo
Grandpa Shark doo doo doo doo doo doo
Grandpa Shark doo doo doo doo doo doo
Grandpa Shark!
Grandma Shark doo doo doo doo doo doo
Grandma Shark doo doo doo doo doo doo
Grandma Shark doo doo doo doo doo doo
Grandma Shark!

यह कोड गोल्फ है - सबसे छोटा कोड जीतता है।

यह Reddit ^ 1 ^ 2 पर मिला , और यह गोल्फ के लिए एक दिलचस्प चुनौती की तरह लगता है।

अपडेट:

छंदों के बीच कोई नई रेखा, जो इसे बहुत आसान बनाती है :)

प्रमुख / नई अनुगामी ठीक हैं।


6
क्या प्रत्येक श्लोक (प्रत्येक शार्क) के बीच एक नई रेखा स्वीकार्य है? (यह है कि मैंने हमेशा लिखे गए गीतों को कैसे देखा है)
क्विंटेक

6
एह, कुछ छंद याद आ रही है, जैसे तैराकों के तैरने और शार्क के हमलों में अंग खोने के बारे में।
mbomb007

2
"डू डू डू डू डू डू" वास्तव में अधिक सरल है।
आर ..

26
एक अभिभावक के रूप में, मुझे लगता है कि इस एक को कम करने के लिए सबसे मजबूत आग्रह है। मैं आग्रह का दमन कर रहा हूं क्योंकि यह स्टैक एक्सचेंज काम नहीं करता है। लेकिन अगर मैं आज बाद में खुद को "डू डू डू डू डू" गुनगुनाता हुआ पाता हूं, तो मैं यहां वापस आ रहा हूं और आपको जवाबदेह ठहरा रहा हूं।
Cort Ammon

5
कितने लोगों के दिन अब बर्बाद हो गए हैं कि यह एचएनक्यू पर है?
कैक्टसकेक

जवाबों:



74

इमोजीकोड, 292 बाइट्स (140 अक्षर)

🏁🍇🔤Baby🔤➡️b🔤Daddy🔤➡️y🔤Mommy🔤➡️o🔤Grandpa🔤➡️g🔤Grandma🔤➡️a🔤 Shark🔤➡️s🔤 doo🔤➡️d🍨b y o g a🍆➡️f🔂m f🍇🔂i🆕⏩⏩0 3❗️🍇😀🍪m s d d d d d d🍪️❗️🍉😀🍪m s🔤!🔤🍪❗️🍉🍉

चलाओ

विस्तारित किया गया:

🏁🍇
  🔤Baby🔤 ➡️ b
  🔤Daddy🔤 ➡️ y
  🔤Mommy🔤 ➡️ o
  🔤Grandpa🔤 ➡️ g
  🔤Grandma🔤 ➡️ a
  🔤 Shark🔤 ➡️ s
  🔤 doo🔤 ➡️ d
  🍨b y o g a🍆➡️f
  🔂m f🍇
    🔂i🆕⏩⏩0 3❗️🍇
      😀🍪m s d d d d d d🍪️❗️
    🍉
    😀🍪m s🔤!🔤🍪❗️
  🍉
🍉

समझाया गया है (प्रति इमोजीकोड के अनुसार ):

🍇🍉

एक के रूप में ही {और }(जैसे एक कोड ब्लॉक)

🏁

"कार्यक्रम प्रारंभ" (जैसे int main())

🔤Baby🔤 ➡️ b

चर कार्य (जैसे const char* b = "Baby";)

🍨b y o g a🍆➡️f

कहते हैं, 🍨 और list और असाइन (list) के बीच मानों की सूची बनाएं f(जैसे const char* f[] = {b,y,o,g,a};)

🔂m f🍇 ... 🍉

यह रेखा fउपनाम का उपयोग करने वाले तत्वों पर लूप करने के लिए कहती है m, जहां ...🍉 और over के बीच का कोड है।

🔂 i 🆕⏩⏩ 0 3❗️🍇 ... 🍉

यह रेखा सीमा [0,3) पर लूप करने के लिए कहती है, जहां ...🍉 और over के बीच का कोड है।

😀🍪 ... 🍪️❗️

यह पंक्ति निर्दिष्ट प्रारूप को प्रिंट करने के लिए कहती है ...(जैसे printf("%s\n");)

C के लिए अनुवादित कोड:

#include <stdio.h>

int main() {
  const char* b = "Baby";
  const char* y = "Daddy";
  const char* o = "Mommy";
  const char* g = "Grandpa";
  const char* a = "Grandma";
  const char* s = " Shark";
  const char* d = " doo";
  const char* f[] = {b,y,o,g,a};
  int m = 0, i = 0;
  for (; m < 5; ++m) {
    for (i = 0; i < 3; ++i) {
      printf("%s%s%s%s%s%s%s%s\n", f[m], s, d, d, d, d, d, d);
    }
    printf("%s%s!\n", f[m], s);
  }
  return 0;
}

इसके बाद, मूल कोड (पोस्टीरिटी के लिए नीचे पोस्ट किया गया) में कुछ मुद्दे थे; ज्यादातर यह है कि 🏁🍇🍉 ब्लॉक उन लोगों के लिए शामिल नहीं किया गया था जो इसे चलाना चाहते हैं, और इमोजी वास्तव में ठीक से बच नहीं पाए हैं, इसके लिए, यहां उस कोड का वास्तविक रनिंग संस्करण है:

मूल चलाने के लिए संशोधित: इमोजीकोड, 224 बाइट्स (67 अक्षर)

🏁🍇🍨🔤👶🔤🔤👨🔤🔤🤱🔤🔤👴🔤🔤👵🔤🍆➡️f🔂m f🍇🔂i🆕⏩⏩0 3❗️🍇😀🍪m🔤🦈💩💩💩💩💩💩🔤🍪️❗️🍉😀🍪m🔤🦈!🔤🍪❗️🍉🍉

विस्तारित किया गया:

🏁🍇
  🍨
    🔤👶🔤
    🔤👨🔤
    🔤🤱🔤
    🔤👴🔤
    🔤👵🔤
  🍆 ➡️ f
  🔂 m f 🍇
    🔂 i 🆕⏩⏩ 0 3❗️🍇
      😀🍪m🔤🦈💩💩💩💩💩💩🔤🍪️❗️
    🍉
    😀🍪m🔤🦈!🔤🍪❗️
  🍉
🍉

जो उत्पादन का उत्पादन करता है:

👶🦈💩💩💩💩💩💩
👶🦈💩💩💩💩💩💩
👶🦈💩💩💩💩💩💩
👶🦈!
👨🦈💩💩💩💩💩💩
👨🦈💩💩💩💩💩💩
👨🦈💩💩💩💩💩💩
👨🦈!
🤱🦈💩💩💩💩💩💩
🤱🦈💩💩💩💩💩💩
🤱🦈💩💩💩💩💩💩
🤱🦈!
👴🦈💩💩💩💩💩💩
👴🦈💩💩💩💩💩💩
👴🦈💩💩💩💩💩💩
👴🦈!
👵🦈💩💩💩💩💩💩
👵🦈💩💩💩💩💩💩
👵🦈💩💩💩💩💩💩
👵🦈!

चलाओ

जहाँ आपके पास अलग-अलग इमोजी शब्दों का प्रतिनिधित्व करते हैं:

👶 -> Baby
👨 -> Daddy
🤱 -> Mommy
👴 -> Grandpa
👵 -> Grandma
🦈 -> Shark
💩 -> doo

मूल: इमोजीकोड, 138 बाइट्स (47 अक्षर)

🍨👶👨🤱👴👵🍆➡️f🔂m f🍇🔂i🆕⏩⏩0 3❗️🍇😀m🦈💩💩💩💩💩💩❗️🍉😀m🦈!❗️🍉

विस्तारित किया गया:

🍨👶👨🤱👴👵🍆➡️f
🔂m f🍇
  🔂 i 🆕⏩⏩ 0 3❗️🍇
    😀 m 🦈💩💩💩💩💩💩❗️
  🍉
  😀 m 🦈!❗️
🍉

31
रचनात्मकता के लिए अंक, लेकिन यह आवश्यक उत्पादन नहीं करता है
जो किंग

15
साइट पर आपका स्वागत है! जैसा कि जोकिंग में हो रहा था, हमें उस सवाल का जवाब देने की आवश्यकता है, जो यहाँ पर पूछा गया है। इसका मतलब यह है कि चुनौती की आपकी व्याख्या रचनात्मक होने के साथ-साथ इस उत्तर को सही आउटपुट या डिलीट करने के लिए तय किया जाना चाहिए।
गेहूं जादूगर

12
हालांकि यह उत्तर रचनात्मक है, यह चुनौती की आवश्यकताओं का पालन नहीं करता है, और इस प्रकार मान्य नहीं है - पाठ को आउटपुट होना चाहिए जैसा कि चुनौती में कहा गया है।
Mego

8
कृपया सही उत्पादन के लिए इस उत्तर को संशोधित करें, या इसे हटा दें।
mbomb007

6
साइट पर आपका स्वागत है! जब मैं इस कोड को ऑनलाइन चलाने का प्रयास करता हूं, तो मुझे एक त्रुटि मिलती है। (इसमें 94 के बजाय 98 अक्षर भी गिने जाते हैं)। क्या मैं कुछ भूल रहा हूँ?
DJMcMayhem

31

आईबीएम पीसी डॉस, 8088 विधानसभा, 115 114 109 108 बाइट्स

bd43 01e8 1600 bd48 01e8 1000 bd4e 01e8 0a00 bd54 01e8 0400 c646 056d b409 b103
8bd5 cd21 ba5c 01cd 21e3 1249 b306 ba63 01cd 214b 75fb ba69 01cd 21eb e3ba 6801
cd21 c342 6162 7924 4461 6464 7924 4d6f 6d6d 7924 4772 616e 6470 6124 2053 6861
726b 2420 646f 6f24 210d 0a24

unassembled:

    MOV  BP, OFFSET BABY        ; Baby Shark
    CALL VERSE
    MOV  BP, OFFSET DADDY       ; Daddy Shark
    CALL VERSE
    MOV  BP, OFFSET MOMMY       ; Mommy Shark
    CALL VERSE
    MOV  BP, OFFSET GRAND       ; Grandpa/ma Shark
    CALL VERSE
    MOV  BYTE PTR [BP+5], 'm'   ; change 'p' to 'm'                 
                                ; fall through for last VERSE                               

; display a shark verse
; input: BP: address of shark name string
; output: display full verse for shark
VERSE   PROC
        MOV  AH, 9              ; DOS API display string function
        MOV  CL, 3              ; loop verse three times
LOOP_VERSE:
        MOV  DX, BP             ; load shark name from BP
        INT  21H                ; display shark name
        MOV  DX, OFFSET SHARK   ; load 'Shark'
        INT  21H                ; display 'Shark'
        JCXZ LAST_VERSE         ; if last verse, skip to !
        DEC  CX                 ; decrement verse count
        MOV  BL, 6              ; loop 'doo' 6 times
        MOV  DX, OFFSET DOO     ; load 'doo' string
LOOP_DOO:
        INT  21H                ; display 'doo'
        DEC  BX                 ; decrement doo count
        JNZ  LOOP_DOO           ; if not zero, start again
        MOV  DX, OFFSET CRLF    ; load CRLF string
        INT  21H                ; display CRLF
        JMP  LOOP_VERSE
LAST_VERSE:
        MOV  DX, OFFSET BANG    ; display !, CRLF
        INT  21H
        RET
VERSE   ENDP

BABY    DB  'Baby$'
DADDY   DB  'Daddy$'
MOMMY   DB  'Mommy$'
GRAND   DB  'Grand'
PA      DB  'pa$'
SHARK   DB  ' Shark$'
DOO     DB  ' doo$'
BANG    DB  '!'
CRLF    DB  0DH,0AH,'$'

उत्पादन

डॉस डीआईआर, शेयर

SHARK.COM डाउनलोड करें!

  • -5 बाइट्स @ डेडकोड ​​के लिए धन्यवाद

6
आप पूर्ण पागल।
MGOwen

5
जब आपने कहा Download SHARK.COM!, मैंने तुरंत कंप्यूटर वायरस के बारे में सोचा।
MilkyWay90

@gwaugh मैं मजाक कर रहा था
MilkyWay90

@gwaugh लेकिन यह 109 बाइट्स है
MilkyWay90


16

05AB1E , 50 41 बाइट्स

“‡ÍÊТ×myîºpaîºma“#ð«'㢫™v…doo6иyšÐy'!«»

अंतिम भाग v4FN3Qiy'!«ë…doo6иyšðý},निश्चित रूप से थोड़ा गोल्फ हो सकता है .. और मैं सही था, -9 बाइट्स @Eignign के लिए धन्यवाद (इससे भी अधिक मैं उम्मीद कर रहा था)।

इसे ऑनलाइन आज़माएं।

स्पष्टीकरण:

“‡ÍÊТ×myîºpaîºma # Push dictionary string "baby daddy mommy grandpa grandma"
 #                 # Split by spaces: ["baby","daddy","mommy","grandpa","grandma"]
  ð«               # Append a space to each
    '㢫          '# Append dictionary string "shark" to each
                  # Title-case each word
v                  # Loop `y` over these strings
 doo              #  Push string "doo"
     6и            #  Repeat it 6 times as list
       yš          #  Prepend the string `y` at the front of the list
         Ð         #  Triplicate this list
 y'!«             '#  Push string `y`, concatted with a "!"
 »                 #  Join everything on the stack by newlines
                   #  (and each list implicitly by spaces)
                   # (and after the loop, output the result implicitly)

मेरा यह 05AB1E टिप देखें (अनुभाग कैसे शब्दकोश उपयोग कैसे करें? ) को समझने के लिए क्यों “‡ÍÊТ×myîºpaîºma“है "baby daddy mommy grandpa grandma"और 'ã¢है "shark"


2
आप गोल्फ कर सकते हैं के साथ है कि पिछले बिट के 9 बाइट्सv…doo6иyšÐy'!«»
Emigna

@Emigna आप जितना मुझे उम्मीद थी, उससे कहीं ज्यादा गोल्फ के लिए, धन्यवाद! ट्रिपलेट का उपयोग करने का स्मार्ट तरीका और »!
केविन क्रूज़सेन

14

पॉवरशेल, 88 86 85 80 79 76 बाइट्स

-5 बाइट्स @ @ mazzy के लिए धन्यवाद
-1 बाइट @ जॉय
-3 बाइट्स के लिए धन्यवाद @AdmBorkBork

echo Baby Daddy Mommy Grandpa Grandma|%{,(($a="$_ Shark")+" doo"*6)*3;"$a!"}

इसे ऑनलाइन आज़माएं!

हम निश्चित रूप से एक लंबा सफर तय कर चुके हैं।

पावरशेल (टेक्स्ट टू स्पीच के साथ), 156 बाइट्स

यह कल्पना तक नहीं है, लेकिन यह थोड़े मजाकिया है। विचार के लिए @rkeet को धन्यवाद!

Add-Type -a System.Speech;echo Baby Daddy Mommy Grandpa Grandma|%{(New-Object Speech.Synthesis.SpeechSynthesizer).Speak((($a="$_ Shark")+" doo"*6)*3+" $a")}

.NET टेक्स्ट टू स्पीच उच्चारण है ... अच्छी तरह से ... दिलचस्प है। सुनते समय इस बात का ध्यान रखें। का आनंद लें!



1
आप "$_ Shark"एक चर को असाइन करके और इसे फिर से उपयोग करके एक और बाइट बचा सकते हैं ।
जॉय

2
केecho बजाय 76 बाइट्स का उपयोग कर -split
AdmBorkBork

1
मुझे लगता है कि आप एक वहाँ के साथ-साथ में "लेख से बोली" होनी चाहिए: का यह इसके साथ एक सा गठबंधन करने की कोशिश की पी नरक के लिए इस कोड को काफी काम :-) नहीं था
rkeet

@rkeet चैलेंज स्वीकार किया! मैं वर्तमान में इसे बाहर निकाल रहा हूं।
गेब्रियल मिल्स

10

जावा (JDK) , 135 बाइट्स

v->{for(var s:"Baby Daddy Mommy Grandpa Grandma".split(" "))System.out.println(((s+=" Shark")+" doo".repeat(6)+"\n").repeat(3)+s+"!");}

इसे ऑनलाइन आज़माएं!


कौन सा JDK संस्करण? मैं 8+ (लंबोदा) का अनुमान लगा रहा हूं।
NoOneIsHere

3
@NoOneIsHere repeatविधि को देखते हुए , यह संस्करण 11+ है
ओलिवियर

9

रेटिना 0.8.2 , 77 75 74 बाइट्स


Baby¶Daddy¶MommyGpaGma
G
¶Grand
.+
$&s$&s$&s$&S!
s
S6$*O¶
O
 doo
S
 Shark

इसे ऑनलाइन आज़माएं! स्पष्टीकरण:


Baby¶Daddy¶MommyGpaGma
G
¶Grand

अलग-अलग लाइनों पर संबंध सम्मिलित करें।

.+
$&s$&s$&s$&S!¶

चार लाइनों में विस्तार करें।

s
S6$*O¶
O
 doo
S
 Shark

प्लेसहोल्डर्स का विस्तार करें।

रेटिना 1 में 69 68 बाइट्स :


Baby¶Daddy¶MommyGpaGma
G
¶Grand
.+
$& Shark
.+
3*$($&6*$( doo)¶)$&!

इसे ऑनलाइन आज़माएं! स्पष्टीकरण:


Baby¶Daddy¶MommyGpaGma
G
¶Grand

अलग-अलग लाइनों पर संबंध सम्मिलित करें।

.+
$& Shark

प्रत्येक को शार्क जोड़ें।

.+
3*$($&6*$( doo)¶)$&!

पूरे छंद में विस्तार।


9

पायथन 3, 105 97 96 बाइट्स

for x in"Baby","Daddy","Mommy","Grandpa","Grandma":z=x+' Shark';print((z+' doo'*6+"\n")*3+z+"!")

इसे ऑनलाइन आज़माएं!

एक साधारण पायथन 3 समाधान। (9 किंग और क्विंट द्वारा बाइट्स बचाए गए)


2
चारों ओर कोष्ठक ' doo'*6अनावश्यक हैं और आपके पास वहां अनावश्यक
व्हाट्सएप है

1
क्विंट ने क्या कहा ... 97 बाइट्स
जो किंग

2
@ReverseCold तकनीकी रूप से जहां []यह नहीं है यह एक सूची नहीं है, लेकिन यह इस कार्यक्रम के लिए प्रासंगिक नहीं है
स्टीफन

2
x+' Shark'एक चर के लिए सेट करके 96 बाइट्स
जो किंग

1
यह 2.7 में भी काम करने लगता है?
उह

9

हास्केल , 122 113 108 106 104 बाइट्स

s=" Shark";m=do x<-words"Baby Daddy Mommy Grandpa Grandma";("aaa">>x++s++(s>>" doo")++"\n")++x++s++"!\n"

इसे ऑनलाइन आज़माएं!

  • "aaa">>xx3 बार दोहराता है, "aaa"जिसकी लंबाई 3 है।

  • s>>" doo"लंबाई 6 है " doo", के रूप " Shark"में 6 बार प्रतिकृति !

  • 2 बाइट्स @Fox की बदौलत बच गए

  • 2 बाइट्स ने @Laikoni को धन्यवाद दिया

2
साइट पर आपका स्वागत है! हम एक निश्चित आउटपुट स्ट्रिंग को अभिव्यक्ति के रूप में उत्पन्न करने की अनुमति देते हैं , ताकि आप इसे छोड़ सकें main=putStrहास्केल नियम सारांश भी देखें ।
xnor

1
PPCG में आपका स्वागत है। के साथ अच्छी बचत s>>
झबरा

@xnor लिंक के लिए धन्यवाद!
सितारे

1
m=(stuff)सिर्फ m=stuffदो कम बाइट्स के लिए हो सकता है
फॉक्स

1
do-नोट का उपयोग करके 104 बाइट्स : इसे ऑनलाइन आज़माएं!
लकोनी


7

जावास्क्रिप्ट, 104 बाइट्स

पालन ​​करने के लिए और अधिक गोल्फ।

_=>`Baby
Daddy
Mommy
Grandpa
Grandma`.replace(/.+/g,x=>(s=(x+=` Shark`)+` doo`.repeat(6)+`
`)+s+s+x+`!`)

यह ऑनलाइन की कोशिश करो!


1
यह तकनीकी रूप से एक वैध समाधान नहीं है क्योंकि यह न तो किसी फाइल पर लिखता है और न ही इसे लॉग करता है। यद्यपि यदि आप इसे एक के साथ लपेटकर एक वैध समाधान console.log()बनाते हैं, तो आप इसे
लंबोदर

3
@ डेलियोथ, एक समारोह से लौटते हुए इस साइट पर पूरी तरह से मान्य है। हमारे डिफ़ॉल्ट I / O नियमों के लिए मेटा पर एक नज़र डालें।
झबरा

2
मैं आम तौर पर सहमत होगा, लेकिन यह सवाल विशेष रूप से बताता है कि कार्यक्रम "मानक आउटपुट या एक मनमानी फ़ाइल के लिए निम्न पाठ लिखता है"
वितरित करें

7

बैश, 78 बाइट्स

printf %s\\n {Baby,Daddy,Mommy,Grand{p,m}a}\ Shark{" `echo doo{,,}{,}`"{,,},!}

TIO

73 बाइट्स यदि अनुगामी स्थान की अनुमति है

echo '
'{Baby,Daddy,Mommy,Grand{p,m}a}\ Shark{" `echo doo{,,}{,}`"{,,},!}


5

> <> , 158 115 बाइट्स

जो किंग के लिए बहुत सारी बाइट्स का धन्यवाद दिया

>4>1-&0'krahS '0l3-.
~ ^oa~<
ooo:?!/1-'ood 'o
\ao'!'^?$6:&~
\!?:o
^'ybaB'
^'yddaD'
^'ymmoM'
^'apdnarG'
^'amdnarG'
;

इसे ऑनलाइन आज़माएं! आप fishlanguage.com पर भी कोड चिपकाना चाह सकते हैं, जहाँ आप इसे तैरते हुए एनीमेशन देख सकते हैं ।


121 बाइट्स , ज्यादातर बच्चे / डैडी / ... को एक लाइन के बजाय कई लाइनों में पुनर्व्यवस्थित करने के माध्यम से। हालांकि गोल्फ के लिए अधिक है
जो राजा


@JoKing आह, धन्यवाद। मुझे लगता है कि (ज्यादातर बिटकॉइन के साथ काम करने से) यह माना जाता है कि कम लाइनें बेहतर हैं, लेकिन इस मामले में यह अलग स्ट्रिंग के कारण सच नहीं है।
DLosc

5

PostgreSQL, 162 156 138 बाइट्स

select a||' Shark'||replace(b,'1',repeat(' doo',6))from unnest('{Baby,Daddy,Mommy,Grandpa,Grandma}'::text[])a,unnest('{1,1,1,!}'::text[])b

Ungolfed

select 
    a || ' Shark' || replace(b,'1',repeat(' doo',6))
from unnest('{Baby,Daddy,Mommy,Grandpa,Grandma}'::text[]) a
    ,unnest('{1,1,1,!}'::text[]) b

सहेजा गया 6 24 बाइट्स धन्यवाद @Nahuel Fouilleul!

  • के ||बजाय का उपयोग करेंconcat()
  • के unnest('{foo,bar}'::text[])बजाय का उपयोग करेंregexp_split_to_table('foo,bar')

डीबी <> बेला


1
-6 बाइट्स को ||
कॉनैट के

1
select a||' Shark'||replace(b,'1',repeat(' doo',6))from unnest('{Baby,Daddy,Mommy,Grandpa,Grandma}'::text[])a,unnest('{1,1,1,!}'::text[])b
नहुएल फौइलुल

5

हास्केल , 97 बाइट्स

unlines[x++s++p|x<-words"Baby Daddy Mommy Grandpa Grandma",p<-[a,a,a,"!"]]
s=" Shark"
a=s>>" doo"

इसे ऑनलाइन आज़माएं!

यह स्टारस्कैपलल्स द्वारा हास्केल समाधान का एक अनुकूलन है । नई चाल एक आंतरिक लूप के साथ प्रत्येक श्लोक की पंक्तियों पर पुनरावृति करना है, और नई लाइनों को स्पष्ट रूप से सम्मिलित करने की आवश्यकता को सहेजते हुए , लाइनों का उपयोग करना शामिल है।unlines

चार पंक्तियों का प्रत्यय हैं [a,a,a,"!"], जहां aहै " doo"के साथ 6 बार दोहराया a=s>>" doo"है, जहां starsandspirals चतुराई से छह चरित्र के लंबे पुनः उपयोग कर लेता s=" Shark"। लेखन [a,a,a,...]थोड़ा मूर्खतापूर्ण लगता है, लेकिन मैं इससे छोटा रास्ता नहीं देख रहा हूं।

एक सूची-मोनाड संस्करण एक ही लंबाई है लेकिन यह अच्छा दिखता है।

unlines$(++).(++s)<$>words"Baby Daddy Mommy Grandpa Grandma"<*>[a,a,a,"!"]
s=" Shark"
a=s>>" doo"

इसे ऑनलाइन आज़माएं!


4

रूबी , 82 बाइट्स

%w(Baby Daddy Mommy Grandpa Grandma).map{|a|puts [a+" Shark"]*4*(" doo"*6+?\n)+?!}

इसे ऑनलाइन आज़माएं!


यह समझने में मुझे थोड़ा समय लगा कि आपने सरणी सेपरेटर के रूप में "डू" भाग का उपयोग किया है। अच्छी नौकरी :)
इडवा

4

आर , 131 122 120 बाइट्स

-9 बाइट्स ग्यूसेप के लिए धन्यवाद

-2 अधिक बाइट्स, ग्यूसेप भी

`?`=c
s="Shark"
for(x in "Baby"?"Daddy"?"Mommy"?"Grandpa"?"Grandma")cat(rep("
"?x?s?rep("doo",6),3)?"
"?x?paste0(s,"!"))

इसे ऑनलाइन आज़माएं!

वास्तव में इस पर गर्व है, विशेष रूप से आर के बजाय स्ट्रिंग को संभालने में खराब होने के साथ। मैंने उपयोग करना शुरू कर दिया cat(sapply(...)), लेकिन कुछ बाइट्स के लिए लूप शेव करने का एहसास हुआ।

कोस "?"=cकाफी जरूरत कोष्ठकों की राशि कम कर दिया।

मैंने "*"=repश्लोक और "दोस" की अलग-अलग पंक्तियों को दोहराने की कोशिश भी की , लेकिन वह किसी भी बाइट से नहीं बची।

111 बाइट्स

Giuseppe और ASCII- केवल विकल्प, (और बेहतर) समाधान जो कुछ रिक्ति मुद्दों को ठीक करता है।

write(paste0(rep(c("Baby","Daddy","Mommy","Grandpa","Grandma"),,,4)," Shark",c(rep(strrep(" doo",6),3),"!")),1)

इसे ऑनलाइन आज़माएं!



हमेशा की तरह, अपने बुद्धिमान इनपुट @Giuseppe के लिए धन्यवाद। मुझे उन
गोल्फों


1
@Giuseppe वाह, वैश्वीकरण, अच्छा। मैं भूल गया आर इस तरह अच्छा वैश्वीकरण है। 114? 114 भी?
ASCII- केवल



3

सी # (विज़ुअल सी # इंटरएक्टिव कंपाइलर) , 153 131 बाइट्स

foreach(var i in"Baby Daddy Mommy Grandpa Grandma".Split()){var a=i+" Shark doo doo doo doo doo doo\n";Write(a+a+a+i+" Shark!\n");}

30 बाइट बचाने के लिए @Destrogio को धन्यवाद!

इसे ऑनलाइन आज़माएं!



3

आर , 126 125 बाइट्स

cat(paste(rep(c("Baby","Daddy","Mommy","Grandpa","Grandma"),,,4),c(rep("Shark doo doo doo doo doo doo",3),"Shark!")),sep="
")

यह सीटी हॉल या सुमनेर 18 के उत्तर के रूप में 'चतुर' के रूप में महसूस नहीं करता है, लेकिन चर को परिभाषित करने के ओवरहेड से बचने से यह छोटा हो जाता है।

इसे ऑनलाइन आज़माएं!

संपादित करें: जोनाथन फ्रेच द्वारा टिप्पणी के अनुसार गाड़ी वापसी का उपयोग करके 1 बाइट को बचाया


नमस्कार और PPCG में आपका स्वागत है! मैंने आपके समाधानों की तुलना करने के लिए आपके द्वारा उल्लिखित उपयोगकर्ता के उत्तरों के लिंक जोड़े हैं। दोनों को आउटगोल्फिंग के लिए बधाई, क्या आप सत्यापन में आसानी के लिए एक ऑनलाइन परीक्षण वातावरण के लिए एक कड़ी जोड़ सकते हैं?
जोनाथन फ्रेच

@JonathanFrech के संपादन के लिए धन्यवाद। मैंने अब ऑनलाइन कोड का परीक्षण करने के लिए एक लिंक जोड़ा है (जो मेरे उत्तर के लिए एक बाइट जोड़ा गया है!)।
बॉबीबीन

आप \nअपनी बाइट गिनती को एक बार फिर से नीचे लाने के बजाय एक वास्तविक नई लाइन का उपयोग कर सकते हैं ।
जोनाथन फ्रेच


1
खैर मैं पूरी तरह से बहिर्गमन कर चुका हूं; कभी-कभी सबसे सरल विकल्प सबसे अच्छा होता है। यह भी रेखांकित करता है कि आर। में तार के साथ काम करना कितना मुश्किल है
सीटी हॉल

3

आर , 139 138 137 बाइट्स

s='Shark';d='doo';cat(paste(rep(c('Baby','Daddy','Mommy','Grandpa','Grandma'),e=4),c(rep(paste(s,d,d,d,d,d,d),3),paste0(s,'!'))),sep='
')

'डू' करने के लिए शायद एक बेहतर तरीका है, लेकिन मैं इसे प्राप्त करने में सक्षम नहीं था।

संपादित करें:
JDL के सुझाव पर वास्तविक नई पंक्ति के साथ '\ n' को बदला गया;
Giuseppe के सुझाव पर ट्रेसिंग न्यूलाइन को हटा दिया गया।

इसे ऑनलाइन आज़माएं


ppcg में आपका स्वागत है! बहुत कम से कम, "\ n" को शाब्दिक नई पंक्ति के साथ बदलने से एक बाइट बच जाएगी।
JDL

धन्यवाद, मैंने ऐसा किया, और तब मुझे एहसास हुआ कि मेरा आउटपुट थोड़ा हट गया है इसलिए मैंने अपडेट किया, दुख की बात यह है कि इसके परिणामस्वरूप और बाइट्स हुए।
सीटी हॉल

मेरा मानना ​​है कि आपके पास एक अतिरिक्त बाइट के लिए अनुगामी न्यूलाइन है
ग्यूसेप

3

सी (जीसीसी) , 123 122 बाइट्स

सीटिंग के लिए -1 बाइट धन्यवाद

#define A" doo doo"
f(i){for(i=20;i--;)printf("%.7s Shark%s\n","GrandmaGrandpaMommy\0 Daddy\0 Baby"+i/4*7,i%4?A A A:"!");}

इसे ऑनलाइन आज़माएं!


C के नियम क्या हैं? के लिए main(), या के #includeलिए कोई ज़रूरत नहीं है printf?
BoBTFish

@BoBTFish: सी-विशिष्ट नहीं है, लेकिन आम तौर पर इसे किसी भी फ़ंक्शन का उपयोग करने की अनुमति है (नाम कोई फर्क नहीं पड़ता, वास्तव में यह एक अनाम लंबोदर या समान हो सकता है)। और भाषाएं उनके (किसी भी) कार्यान्वयन से परिभाषित होती हैं, क्योंकि यह काम करता है gcc(केवल चेतावनी उत्पन्न करता है, लेकिन ठीक संकलन करता है) यह मान्य है।
ბიმო

मुझे एहसास हुआ कि कमी #includeकेवल एक त्रुटि थी क्योंकि मैं अभी भी C ++ के रूप में संकलित कर रहा था, लेकिन मैं अभी भी इसे आपके फ़ंक्शन का नाम लिए बिना संकलित नहीं कर सका main
BoBTFish

2

CQuents , 93 89 बाइट्स

|
#20&bk)~" Shark"~(" doo"6,Z,Z,bk)~" Shark!"
:"Baby","Daddy","Mommy","Grandpa","Grandma"

इसे ऑनलाइन आज़माएं!

ध्यान दें कि पोस्टिंग के रूप में टीआईओ नवीनतम संस्करण में अपडेट नहीं किया गया है, इसलिए टीआईओ लिंक काम नहीं कर सकता है।

व्याख्या

|                               Set delimiter to newline
#20                             n = 20
   &                            Output first n terms in sequence
                                k = 1
                                First term is
    bk)~" Shark"                 kth term from the third line concatenated to " Shark"
                ~(" doo"6,        concatenated to " doo" repeated 6 times
Z,Z,                            Second and third terms equal the first term
    bk)~" Shark!"               Fourth term is the kth term from the third line concatenated to " Shark!"
                                k += 1, restart

Third line                      5 terms, each a string

2

जावास्क्रिप्ट (Node.js) , 132 बाइट्स

शायद बहुत गोल्फ-सक्षम। "डू डू" लाइन उत्पन्न करता है, फिर "के साथ तीन बनाता है!" लाइन के बाद, और प्रत्येक शार्क के लिए इसे दोहराता है।

a=""
c=" doo"
for(b of["Baby","Daddy","Mommy","Grandpa","Grandma"]){b+=" Shark"
t=b+c+c+c+c+c+c+"\n"
a+=t+t+t+b+"!\n"}console.log(a)

इसे ऑनलाइन आज़माएं!


जावास्क्रिप्ट में थोड़ा बदला हुआ समाधान, हालांकि कोई लाभ नहीं: a = ""; c = "डू"; (["बेबी", "डैडी", "मम्मी", "दादाजी", "दादी"]) के b (+) के लिए; = "शार्क"; t = b + c.repeat (6) + "\ n"; a + = t + t + t + b + "! \ N"}
कंसोल.लॉग

2

jq, 87 वर्ण

" Shark"as$s|("Baby Daddy Mommy Grandpa Grandma"/" ")[]|(.+$s+" doo"*6+"\n")*3+.+$s+"!"

नमूना रन:

bash-4.4$ jq -nr '" Shark"as$s|("Baby Daddy Mommy Grandpa Grandma"/" ")[]|(.+$s+" doo"*6+"\n")*3+.+$s+"!"'
Baby Shark doo doo doo doo doo doo
Baby Shark doo doo doo doo doo doo
Baby Shark doo doo doo doo doo doo
Baby Shark!
Daddy Shark doo doo doo doo doo doo
Daddy Shark doo doo doo doo doo doo
Daddy Shark doo doo doo doo doo doo
Daddy Shark!
Mommy Shark doo doo doo doo doo doo
Mommy Shark doo doo doo doo doo doo
Mommy Shark doo doo doo doo doo doo
Mommy Shark!
Grandpa Shark doo doo doo doo doo doo
Grandpa Shark doo doo doo doo doo doo
Grandpa Shark doo doo doo doo doo doo
Grandpa Shark!
Grandma Shark doo doo doo doo doo doo
Grandma Shark doo doo doo doo doo doo
Grandma Shark doo doo doo doo doo doo
Grandma Shark!

इसे ऑनलाइन आज़माएं!


2

जब यूयूकैडलीज्लोस 100endorsementsinnationstates - 123,065 121,716 113,695 100,889 98,554 बाइट्स

कार्यक्रम

मैं इसे बाद में गोल्फ करूंगा। किया हुआ।

मैं इसे और अधिक (बाद में) पूरा करूँगा

मैं इसे और भी बाद में गोल्फ करूँगा। किया हुआ।

मैं बाद में 5 अंको को बाइट काउंट प्राप्त करूँगा। वाह।

मैं 4 अंको को बाइट काउंट प्राप्त करूँगा (मुझे नहीं पता कि यह संभव है, लेकिन मुझे पता है कि मेरे वर्तमान दृष्टिकोण के साथ 3 अंक प्राप्त करना असंभव है)।


यह क्या बदतमीज़ी है? मुझे यह पसंद है
एड्रियन झांग

@ AdrianZhang एक प्रोग्रामिंग भाषा इसे प्रोग्राम करने के लिए कठिन है। इसके अलावा, कार्यक्रम ऐसा लग रहा है कि यह एक व्यक्ति चिल्ला रहा है ('एएएएएएएएएएएएए ...')
मिल्कीवेय 90

2

सादा टीएक्स, 147 बाइट्स

\input pgffor\def\D{doo~}\def\d{\D\D\D\D\D\D}\def\S{Shark}\def\y{\x~\S~\d\par}\foreach\x in{Baby,Mommy,Daddy,Grandma,Grandpa}{\y\y\y\x~\S!\par}\bye

बल्कि निराशाजनक है, लेकिन मैंने उम्र में टीएक्स का जवाब नहीं दिया है। TeX में लूप बहुत वर्बोज़ हैं (और स्ट्रिंग्स पर लूपिंग बिल्ट-इन भी नहीं है, इसलिए यह स्ट्रेच का भी थोड़ा सा हिस्सा है)


2

PHP , 153 147 बाइट्स

<?php $s='Shark';$d=str_pad('',23,'doo ');foreach(explode(' ','Baby Daddy Mommy Grandpa Grandma')as$a){echo str_repeat("$a $s $d\n",3),"$a $s!\n";}

@ बमैटवर्क की बदौलत 6 बाइट बचाने के लिए इशारा किया गया str_pad('',23'doo ');हैrtrim(str_repeat('doo ',6));

इसे ऑनलाइन आज़माएं!


दुर्भाग्य से यह भी + संयोजन $d='doo doo doo doo doo doo'से छोटा है । :( लेकिन सौभाग्य से और भी कम है। अधिक अनुकूलन युक्तियों के लिए, PHP में गोल्फिंग के लिए टिप्स देखें ।rtrim()str_repeat()$d=str_pad('',23,'doo ')
15:18

@manatwork यह इंगित करने के लिए धन्यवाद, मैंने पोस्ट को प्रतिबिंबित करने के लिए अपडेट किया है
EvanBarbour3

1
इस बीच कुछ और खेलने के लिए कुछ समय मिला: इसे ऑनलाइन आज़माएं!
manatwork

113 बाइट्स । PPCG में आपका स्वागत है!
झबरा

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.