হাঁস, হাঁস, চলে গেল!


40

এখানে (বেশ ভয়ঙ্কর) পাঁচটি ছোট হাঁসের গান রয়েছে (এটি দীর্ঘ নয়):

Five little ducks went out one day,
over the hills and up away.
Mother Duck said, "Quack Quack Quack Quack",
but only four little ducks came back.

Four little ducks went out one day,
over the hills and up away.
Mother Duck said, "Quack Quack Quack Quack",
but only three little ducks came back.

Three little ducks went out one day,
over the hills and up away.
Mother Duck said, "Quack Quack Quack Quack",
but only two little ducks came back.

Two little ducks went out one day,
over the hills and up away.
Mother Duck said, "Quack Quack Quack Quack",
but only one little duck came back.

One little duck went out one day,
over the hills and up away.
Mother Duck said, "Quack Quack Quack Quack",
but none of the little ducks came back.

Mother duck herself went out one day,
over the hills and up away.
Mother Duck said, "Quack Quack Quack Quack",
and all of the little ducks came back.

আপনার কাজ এই গানটি আউটপুট করা হয় না। আপনার একটি আয়াত নেওয়া উচিত এবং পরবর্তী আয়াতটি আউটপুট করা উচিত (শেষ আয়াতের পরবর্তী আয়াতটি প্রথম আয়াত)।

বিধি

  • দয়া করে কোনও মানক ফাঁক নেই।
  • ইনপুট / আউটপুট আমাদের স্ট্যান্ডার্ড ইনপুট / আউটপুট পদ্ধতির মাধ্যমে নেওয়া হবে।
  • সঠিক শ্লোক outputted করা আবশ্যক, এবং কোন পার্থক্য যখন গানের তুলনায় সেখানে উচিত। গানের লিরিকের সাথেও তুলনা করা হলে ইনপুটটি আলাদা হবে না।

উদাহরণ

Mother duck herself went out one day,
over the hills and up away.
Mother Duck said, "Quack Quack Quack Quack",
and all of the little ducks came back.

প্রত্যাশিত:

Five little ducks went out one day,
over the hills and up away.
Mother Duck said, "Quack Quack Quack Quack",
but only four little ducks came back.

Three little ducks went out one day,
over the hills and up away.
Mother Duck said, "Quack Quack Quack Quack",
but only two little ducks came back.

প্রত্যাশিত:

Two little ducks went out one day,
over the hills and up away.
Mother Duck said, "Quack Quack Quack Quack",
but only one little duck came back.

22
আমি যখন ছোট ছিলাম তখন এর কথাগুলি কিছুটা আলাদা হওয়ার কথা মনে পড়ে যায়, অনেক চাঁদ আগে। তবে আমার মনে আছে এটির দ্বারা আঘাতজনিত হওয়া! এত দিন সেই নিখোঁজ হাঁস কোথায় ছিল ?! কেউ কেন তাদের সন্ধান করছিল না ?! এবং কোন ধরণের দায়িত্বজ্ঞানহীন মা এত বাচ্চা হারাতে পরিচালনা করে এবং তাদের বাকিদের খেলতে দেয় ?! ভয়!
শেগি


7
তুমি আমাকে শুধু আতঙ্কিত করেছ
এ _

2
এই গানের লিরিক্সগুলি নিশ্চিতভাবে আমাকে আবেগের রোলার কোস্টার দিয়েছিল।
লক করুন

2
আমি গতকাল এখানে পোস্ট করা ইউটিউব ভিডিওটি শুনেছি, দুবার, মাত্র দু'বার। এখন সেই গানটি আমার মস্তিস্কে এম্বেড হয়েছে, আমি যেখানেই যাই না কেন, যাই করি না কেন শুনি!সহায়তা ...
রাত 2

উত্তর:


3

স্ট্যাক্স , 115 111 বাইট

τ*^&k─Zè0µ9┬$█◘çl╟☼:Drσ59ò╠▄┴╢Q♂╔¡ô╜Oa╣▀yèA÷╨%^♀█Ö+╡◄ì=∙%╧o▌Θ<▲Çα¿╗√;1°┼╤V◘ú┐♥▒ÇM☼b╩░o]YaL4░ƒ%(Æ♫Q0æÆä⌂¡╘○Eâó╪¡

এটি চালান এবং এটি ডিবাগ করুন

পরীক্ষার মামলা হিসাবে সমস্ত আয়াত


1
আপনি যখন এটি "একটি ছোট হাঁস" দিয়ে চালান, তখন এটি প্রতিক্রিয়া জানায় "ছোট্ট হাঁসের ছোট্ট হাঁস ফিরে এসেছিল।" শেষ লাইনে
ডোরিয়ান

1
বাগটি আকার ছাড়াই নির্ধারণ করা হয়েছে। এটি আসলে একটি 2 বাইট ব্যয়ের জন্য এবং অন্য কোথাও 2-বাইট সঞ্চয়গুলি অফসেট করার বিষয়ে ছিল, যদিও বাইটগুলি এখানে পরিমাপ করা বেশ কঠিন, যেহেতু পরিবর্তনগুলি হ'ল সংক্ষিপ্ত আকারের বা সংক্ষিপ্ততর স্ট্রিংগুলিতে আবদ্ধ হয় না, এমনকি চূড়ান্ত প্রোগ্রামেও।
পুনরাবৃত্তির

19

জাভাস্ক্রিপ্ট (ES9), 227 বাইট

এটি নীচের নোড সংস্করণের অনুরূপ তবে ইনপুট শ্লোকটি সনাক্ত করার parseInt()পরিবর্তে একটি সূত্র ব্যবহার করে Buffer()

এটি ES2018 (ওরফে ES9) কারণ আমরা /sপতাকাটির সাথে নিয়মিত এক্সপ্রেশন ব্যবহার করছি ( ডটআল )।

s=>'Mother duck herself1and all23,,Three4two3,Five4four3,Four4three3,One01but none23,Two4one0'.split`,`[parseInt(s,30)&7].replace(/\d/g,n=>[x=' little duck',y=/ w.*\n/s.exec(s),' of the',x+='s',x+y+'but only '][n])+s.slice(-11)

এটি অনলাইন চেষ্টা করুন!

কিভাবে?

এই সংস্করণে, আমরা সম্পূর্ণ ইনপুট শ্লোকটি বেস 30 ( 0টু t) হিসাবে পার্স করেছি এবং কিছুটা পার্শ্ববর্তী এবং 7 দিয়ে পারফর্ম করব the

 verse | valid part | base 30 -> decimal | AND 7
-------+------------+--------------------+-------
   0   |  'fi'      |            468     |   4
   1   |  'fo'      |            474     |   2
   2   |  'three'   |       23973734     |   6
   3   |  't'       |             29     |   5
   4   |  'one'     |          22304     |   0
   5   |  'mother'  |      554838747     |   3

জাভাস্ক্রিপ্ট (নোড.জেএস) ,  233 231  227 বাইট

@ শেগি কে 2 বাইট সংরক্ষণ করা হয়েছে

s=>'Three4two3,Four4three3,Mother duck herself1and all23,One01but none23,,,Two4one0,,Five4four3'.split`,`[Buffer(s)[2]%9].replace(/\d/g,n=>[x=' little duck',y=/ w.*\n/s.exec(s),' of the',x+='s',x+y+'but only '][n])+s.slice(-11)

এটি অনলাইন চেষ্টা করুন!

কিভাবে?

প্রতিটি ইনপুট শ্লোকের তৃতীয় অক্ষর অনন্য সনাক্তকারী হিসাবে ব্যবহার করা যেতে পারে। এটির ASCII কোড 9 টি গ্রহণ করে আমরা পাই:

 verse | 3rd char. | ASCII code | MOD 9
-------+-----------+------------+-------
   0   |    'v'    |     118    |   1
   1   |    'u'    |     117    |   0
   2   |    'r'    |     114    |   6
   3   |    'o'    |     111    |   3
   4   |    'e'    |     101    |   2
   5   |    't'    |     116    |   8

আউটপুট আয়াতগুলি নিম্নলিখিত টেম্পলেটগুলির সাথে এনকোড করা হয়েছে:

 verse | template
-------+---------------------------------
   0   | 'Five4four3'
   1   | 'Four4three3'
   2   | 'Three4two3'
   3   | 'Two4one0'
   4   | 'One01but none23'
   5   | 'Mother duck herself1and all23'

যেখানে প্রতিটি অঙ্কটি নিম্নলিখিত টেবিল অনুসারে একটি স্ট্রিংয়ের সাথে প্রতিস্থাপন করা হয়:

 digit | replaced with
-------+---------------------------------------------------
   0   | ' little duck'
   1   | / w.*\n/s.exec(s)
   2   | ' of the'
   3   | ' little ducks'
   4   | ' little ducks' + / w.*\n/s.exec(s) + 'but only '

যেখানে নিয়মিত / w.*\n/sপ্রকাশটি ইনপুট থেকে এই সাধারণ অংশটি বের করে:

  went out one day,[LF]
 over the hills and up away.[LF]
 Mother Duck said, "Quack Quack Quack Quack",[LF]

আমরা শেষ পর্যন্ত ইনপুটটির শেষ 11 টি অক্ষর যুক্ত করব, যা " came back."



1
@ শেগি সুন্দরভাবে সম্পন্ন হয়েছে ধন্যবাদ!
আর্নৌল্ড

2
execপৃষ্ঠাটি পুনরায় লোড হওয়ার সময় পরামর্শ দেওয়ার জন্য কেবল একটি মন্তব্য পোস্ট করা হয়েছিল । দুর্দান্ত মন ...!
শেগি

11

পাইথন 3 , 267 263 254 বাইট

4 বাইট @ovs ধন্যবাদ সংরক্ষণ করেছে

def f(s):
 for a in zip(T[2:]+T,T):s=s.replace(*a)
 return s
T="8:9:and allHO1BnoneHT2No1T3Nt2F4Nt3FiveINf4MotherD herself"
for r in "H of theI,4ourI,3hreeI,2woI,1neL:,ILs:,L littleD,D duck,NBonly ,Bbut ".split(','):T=T.replace(r[0],r[1:])
T=T.split(':')

এটি অনলাইন চেষ্টা করুন!

পরবর্তী আয়াতের সংশ্লিষ্ট অংশগুলি দ্বারা সংশ্লিষ্ট অংশগুলি প্রতিস্থাপন করে কাজ করে।

পূর্বনির্ধারণের পরে, Tহয়['8', '9', 'and all of the little ducks', 'One little duck', 'but none of the little ducks', 'Two little ducks', 'but only one little duck', 'Three little ducks', 'but only two little ducks', 'Four little ducks', 'but only three little ducks', 'Five little ducks', 'but only four little ducks', 'Mother duck herself']

বিকল্প পাইথন 2 , 252 বাইট

@ovs দ্বারা

lambda s:reduce(lambda s,a:s.replace(*a),zip(T[2:]+T,T),s)
T="8:9:and allHO1BnoneHT2No1T3Nt2F4Nt3FiveINf4MotherD herself"
for r in "H of theI,4ourI,3hreeI,2woI,1neL:,ILs:,L littleD,D duck,NBonly ,Bbut ".split(','):T=T.replace(r[0],r[1:])
T=T.split(':')

এটি অনলাইন চেষ্টা করুন!


for a in zip(T,T[-2:]+T):s=s.replace(*a)264 বাইট জন্য।
ovs

অথবা lambda s:reduce(lambda s,a:s.replace(*a),zip(T,T[-2:]+T),s)পাইথন 2
ovs

@ ওভস ধন্যবাদ, আমি কিছু জিনিস পুনরায় ছড়িয়ে দিয়ে এর T[2:]পরিবর্তে 263 তে পেয়েছিT[-2:]
ব্ল্যাক আউল কাই

9

কোয়াডআর , 257 242 বাইট

-14 ব্ল্যাক আউল কাইকে ধন্যবাদ, -1 কেভিন ক্রুইজসেনকে ধন্যবাদ

ive
Four
hree
Two( little duck)s
One little( duck)
Mother( duck) herself
four
two( little duck)s
only on(e little duck)
but none
and all of the
our
Three
wo
One\1
Mother\1 herself
Five little\1s
three
one\1
none of th\1s
and all
but only four

এটি অনলাইন চেষ্টা করুন!




7

জাভা 10, 347 বাইট

s->{String L=" little duck",M="Mother duck herself";int i=9;for(var t:("ive;Four;hree;Two"+L+"s;One"+L+";four;two"+L+"s;only one"+L+";but none;and all of the;"+M).split(";"))s=s.replace(t,++i+"");for(var t:("Five"+L+"s;but only four;and all;none of the"+L+"s;one"+L+";three;"+M+";One"+L+";wo;Three;our").split(";"))s=s.replace(i--+"",t);return s;}

এটি অনলাইনে চেষ্টা করুন।

ব্যাখ্যা:

[10,21]

s->{                     // Method with String as both parameter and return-type
  String L=" little duck",M="Mother duck herself";
                         //  Two temp strings to save bytes
  int i=9;               //  Temp replacement integer, starting at 9
  for(var t:("ive;Four;hree;Two"+L+"s;One"+L+";four;two"+L+"s;only one"+L+";but none;and all of the;"+M).split(";"))
                         //  Loop over the parts to replace:
    s=s.replace(t,       //   Replace the part,
                ++i+""); //   with the integer pre-incremented by 1
  for(var t:("Five"+L+"s;but only four;and all;none of the"+L+"s;one"+L+";three;"+M+";One"+L+";wo;Three;our").split(";"))
                         //  Then loop over the parts to replace with in reverse:
    s=s.replace(i--+"",  //   Replace the (post-decrementing) integer,
    t);                  //   with the replacement-part
  return s;}             //  And then return the modified String as result

7

টি-এসকিউএল, 407 390 388 382 বাইট

DECLARE @ CHAR(999)=REPLACE(REPLACE('SELECT CASE LEFT(v,2)WHEN''Fi74,''Four''),122,4,''three'')WHEN''Fo74,''Three''),123,5,''two'')WHEN''Th75,''Two''),121,16,''on#'')WHEN''Tw716,''On#''),115,20,''none of th#s'')WHEN''On715,''Mother duck herself''),115,8,''and all'')WHEN''Mo719,''Fiv#s''),113,14,''but only four'')END FROM i',7,'''THEN STUFF(STUFF(v,1,'),'#','e little duck')EXEC(@)

আমিVARCHAR(MAX)বনাম

বেশ কয়েকটি বাইট-সেভ করার পরে REPLACE, নিম্নলিখিতটি ডায়নামিক এসকিউএল হিসাবে কার্যকর করে:

SELECT CASE LEFT(v,2)
       WHEN'Fi'THEN STUFF(STUFF(v,1,4,'Four'),122,4,'three')
       WHEN'Fo'THEN STUFF(STUFF(v,1,4,'Three'),123,5,'two')
       WHEN'Th'THEN STUFF(STUFF(v,1,5,'Two'),121,16,'one little duck')
       WHEN'Tw'THEN STUFF(STUFF(v,1,16,'One little duck'),115,20,'none of the little ducks')
       WHEN'On'THEN STUFF(STUFF(v,1,15,'Mother duck herself'),115,8,'and all')
       WHEN'Mo'THEN STUFF(STUFF(v,1,19,'Five little ducks'),113,14,'but only four')END
FROM i

তালিকাভুক্ত অবস্থানে অক্ষর সন্নিবেশ / ওভাররাইট করতে একটি CASEবিবৃতি এবং STUFFআদেশগুলি ব্যবহার করে ।

সম্পাদনা :

  1. সম্পূর্ণ ভিন্ন কৌশল দিয়ে মূল (নীচে) প্রতিস্থাপন করুন
  2. LEFTপরিবর্তে SUBSTRINGস্থান পরিবর্তন করে দুটি বাইট সংরক্ষণ করা
  3. ভেরিয়েবল পরিবর্তন CHARকরে দ্বিতীয়টিতে একটি অতিরিক্ত চিঠি সরিয়ে 6 বাইট সংরক্ষণ করা হয়েছে REPLACE(ধন্যবাদ, @ সিডিসি!)

এখানে আমার প্রথম সংস্করণটি একটি আলাদা পদ্ধতি ব্যবহার করে (পোস্ট-প্রতিস্থাপন, ফর্ম্যাট করা):

DECLARE @ VARCHAR(MAX)
SELECT @=v FROM i
SELECT @=REPLACE(@,PARSENAME(value,2),PARSENAME(value,1))
FROM string_split('e.but none.and all
                  -e.One little duck.Mother duck herself
                  -o.only one little duck.none of the little ducks
                  -o.Two little ducks.One little duck
                  -r.two little ducks.one little duck
                  -r.Three.Two
                  -u.three.two
                  -u.Four.Three
                  -v.four.three
                  -v.Five.Four
                  -t.and all of the.but only four
                  -t.Mother duck herself.Five little ducks','-')
WHERE LEFT(value,1)=SUBSTRING(@,3,1)
PRINT @

STRING_SPLITএবং PARSENAMEসারি এবং কলামগুলিতে -এবং .বিভাজকের মাধ্যমে একটি স্ট্রিং ভাঙতে ব্যবহৃত হয় ।

প্রথম কলামটি একটি মূল চরিত্র যা ইনপুট শ্লোকের 3 য় বর্ণের সাথে মিলেছে (ধারণার জন্য ধন্যবাদ, @ নাইট 2)। দ্বিতীয় এবং তৃতীয়টি সেই পদটির প্রতিস্থাপন করা হচ্ছে।


প্রথম সমাধান, আপনি যদি "ভিচারার (ম্যাক্স)" এর পরিবর্তে "CHAR (700)" ব্যবহার করেন তবে আপনি 3 বাইট সংরক্ষণ করতে পারবেন। আপনার "ছোট হাঁস" তে, আপনি পরিবর্তে "ই ছোট হাঁস" করতে পারেন এবং প্রতিস্থাপনের জন্য আরও একটি 3 পেতে # এর আগে ই সরিয়ে ফেলতে পারেন
সিডিসি

বিটিডাব্লু, সত্যিই মজাদার সমাধান। আপনার খুব কাছাকাছি যেতে আমি ফর্ম্যাটমেসেজ ব্যবহার করেছি, তবে বেশ নয়।
সিডিসি

ভাল পরামর্শ, @ সিডিসি, ধন্যবাদ!
ব্র্যাডিসি

6

পাইথন 2 , 1034 বাইট

এটি আমার কোড! এটি একটি সাধারণ অভিধান নিয়োগ করে। এই কোডটি চালানোর পরে, আপনি যে কোনও পদকে প্রবেশ করতে পারেন এবং এটি পরবর্তী আয়াতটিকে আউটপুট দেয়।

পিএস: আমি এই চ্যানেলে নতুন এবং এটি আমার প্রথম পোস্ট। আমি এই চ্যালেঞ্জটি সত্যই পছন্দ করেছি তাই এটি চেষ্টা করে দেখার সিদ্ধান্ত নিয়েছি। দয়া করে আমাকে সংশোধন করুন

import sys
i=sys.stdin.readlines()
s={"Mother":"""Five little ducks went out one day,
over the hills and up away.
Mother Duck said, "Quack Quack Quack Quack",
but only four little ducks came back.""",
"Five":"""Four little ducks went out one day,
over the hills and up away.
Mother Duck said, "Quack Quack Quack Quack",
but only three little ducks came back.""",
"Four":"""Three little ducks went out one day,
over the hills and up away.
Mother Duck said, "Quack Quack Quack Quack",
but only two little ducks came back.""",
"Three":"""Two little ducks went out one day,
over the hills and up away.
Mother Duck said, "Quack Quack Quack Quack",
but only one little duck came back.""",
"Two":"""One little duck went out one day,
over the hills and up away.
Mother Duck said, "Quack Quack Quack Quack",
but none of the little ducks came back.""",
"One":"""Mother duck herself went out one day,
over the hills and up away.
Mother Duck said, "Quack Quack Quack Quack",
and all of the little ducks came back."""}
print s[i[0].split(" ")[0]]

11
সাইটে স্বাগতম! সাধারণত আমরা সূত্রের অংশ হিসাবে অভিধানটি গণনা করি। চ্যালেঞ্জের অংশ হ'ল চেষ্টা করা এবং এটি যতটা সম্ভব ছোট করা। এটি সংক্ষিপ্ত করতে পারে এমন কয়েকটি উপায়ও রয়েছে। 1) যেহেতু আপনি পঠনযোগ্য হওয়ার জন্য কোনও পয়েন্ট পান না আপনি একক অক্ষর ভেরিয়েবল নামগুলি ব্যবহার করতে পারেন (উদাহরণস্বরূপ xবা a) 2) পাইথন হোয়াইটস্পেসের সাথে বেশ অনুমতি দেয় তাই আমি আপনার কিছু সাদা স্থানও সরিয়ে দেওয়ার চেষ্টা করব। উদাহরণস্বরূপ আপনার চারপাশের জায়গার প্রয়োজন নেই =। অবশেষে আমাদের কাছে অজগরটি গল্ফ করার জন্য একটি পৃষ্ঠা রয়েছে যা আপনি আপনার খেলাটি দেখতে যেতে পারেন।
গম উইজার্ড

নিঃসন্দেহে শ্রীওচিলিজম ও'জাইক! এটি সহায়ক .. ধন্যবাদ! :)
প্রকৃতি প্রকাশ প্রভু

1
আপনি অপ্রয়োজনীয় সাদা স্থান এবং পরিবর্তনশীলগুলি মুছে ফেলার মাধ্যমে এটিকে সহজেই গল্ফ করতে পারেন , উদাহরণের sysসাহায্যে আমদানি এড়ানো raw_input(), অভিধানের কীটি সংক্ষিপ্ত করে করা ইত্যাদি You আপনার অবশ্যই গানের বারবার অংশগুলি বের করে আলাদাভাবে যুক্ত করা উচিত
জো কিং

@ জোকিং যেমনটি আমি উল্লেখ করেছি এটি আমার প্রথম পোস্ট এবং আমি এতে খুব বেশি চিন্তা করি নি। এটি চেষ্টা করে দেখতে চেয়েছিলেন, তবে আমি এখন এই ধারণাটি পাই। আমার পরবর্তী পোস্টটি এর চেয়ে অনেক বেশি ভাল এবং খাটো হতে চলেছে - আপনাকে ধন্যবাদ সবাইকে..আমাকে ধন্যবাদ! :)
প্রকৃতি প্রকাশ প্রভু

6

পিএইচপি (7.4), 253 247 বাইট

"অ্যারে ভিতরে আনপ্যাকিং" এর আরও সহায়তায় কীভাবে প্রতিস্থাপন অ্যারে তৈরি করা হয়েছে তা উন্নত করে -6 বাইট।

<?=strtr($argv[1],array_combine([0,1,...$a=[Five.$l=($o=" little duck").s,($b="but only ").four.$l,Four.$l,$b.three.$l,Three.$l,$b.two.$l,Two.$l,$b.one.$o,One.$o,"but none of the$l","Mother duck herself","and all of the$l"]],[...$a,$a[0],$a[1]]));

এটি অনলাইন চেষ্টা করুন!

এটি একটি key=>valueফর্ম্যাটে প্রতিটি সম্ভাব্য প্রতিস্থাপনের (12 টি ব্যবহৃত + 2 অব্যবহৃত) একটি অ্যারে তৈরি করে । উদাহরণ: ['Mother duck herself' => 'Five little ducks', etc...]এবং তারপরে কেবল যারা স্ট্রাইট ব্যবহার করছেন তাদের প্রতিস্থাপন করুন ।

একমাত্র আকর্ষণীয় জিনিসটি আমার প্রথম ব্যবহার অ্যারে অভ্যন্তরীণ প্যাকেজ " যা পিএইচপি 7.4 এ একটি নতুন বৈশিষ্ট্য।


পিএইচপি , 264 বাইট

<?=str_replace(($a=[[Five.$l=($o=" little duck").s,($b="but only ").four.$l],[Four.$l,$b.three.$l],[Three.$l,$b.two.$l],[Two.$l,$b.one.$o],[One.$o,"but none of the$l"],["Mother duck herself","and all of the$l"]])[$i=strpos(vuroet,($v=$argv[1])[2])],$a[++$i%6],$v);

এটি অনলাইন চেষ্টা করুন!

আমি প্রতিটি শব্দের বিভিন্ন শব্দ একটি অ্যারেতে সংরক্ষণ করেছি। ইনপুটটি কোন পদ্যটি ইনপুটটির তৃতীয় অক্ষরটি ব্যবহার করছে তা অনন্য ( vuroet) বলে এটি ব্যবহার করছি । তারপরে আমি সেই আয়াতের বিভিন্ন শব্দকে পরবর্তী আয়াতের বিভিন্ন শব্দের সাথে সহজভাবে প্রতিস্থাপন করি।



5

সি # (ভিজ্যুয়াল সি # ইন্টারেক্টিভ সংকলক) , 262 বাইট

x=>$@"{l[g=x[2]*37%724%7]}{g-5:; little} duck{g-4: herself;s;\} went out one day,
{(x=x.Split('\n'))[1]}
{x[2]}
{g-5:and;but} {g-4:all;only;none} {(g>3?"of the":l[g+1].ToLower())} little duc{g%3:ks;;k} came back.";var l=" Four Three Two One Mother".Split();int g

এটি অনলাইন চেষ্টা করুন!


3

পাওয়ারশেল , 356 343 340 336 বাইট

param($p)$l,$M=' little duck','Mother duck herself'
("ive!our;four!three;hree!wo;Four!Three;two!one;s c! c;Two!One;s w! w;only one!none of the;k c!ks c;One$l!$M;but none!and all;$M!Five$l`s;and all of the!but only four"-split';')[$(switch -r($p){^Fi{0,1}^Fo{2,3}^Th{2,4,5}^Tw{6..9}^O{10,11}^M{12,13}})]|%{$p=$p-creplace($_-split'!')}
$p

এটি অনলাইনে চেষ্টা করুন

আরও পঠনযোগ্য সংস্করণ:

param($p)
$l, $M = ' little duck', 'Mother duck herself'
$replacements = @"
ive!our
four!three
hree!wo
Four!Three
two!one
s c! c
Two!One
s w! w
only one!none of the
k c!ks c
One$l!$M
but none!and all
$M!Five$l`s
and all of the!but only four
"@ -split '\n'
$i = switch -regex ($p) { ^Fi { 0, 1 }
                          ^Fo { 2, 3 }
                          ^Th { 2, 4, 5 }
                          ^Tw { 6..9 }
                          ^O  { 10, 11 }
                          ^M  { 12, 13 } }
$replacements[$i] | % { $p = $p -creplace ( $_ -split '!' ) }
$p

3

পাওয়ারশেল , 265 263 255 251 246 বাইট

$d='Five1four2s,Four1three2s,Three1two2s,Two1one2,One23but none52s,Mother duck herself3and all52s'-split','
'2s34',' little duck',-join($args-split'(\s)')[5..39],'but only ',' of the'|%{$d=$d-replace++$i,$_}
$d[+"$args"[2]*37%724%7]+' came back.'

এটি অনলাইন চেষ্টা করুন!

আমি অভিব্যক্তি খুঁজে পেতে নিষ্ঠুর শক্তি ব্যবহার +"$args"[2]*37%724%7

 verse | 3rd char. | ASCII code | *37%724%7
-------+-----------+------------+-----------
   0   |    'v'    |     118    |   1
   1   |    'u'    |     117    |   2
   2   |    'r'    |     114    |   3
   3   |    'o'    |     111    |   4
   4   |    'e'    |     101    |   5
   5   |    't'    |     116    |   0

ধন্যবাদ @Arnauld জন্য 3rd char


2

জাপট ভি 2.0a0, 143 বাইট

প্রতিস্থাপনের সাথে একটি একক শ্লোকে এনকোডিং করার চেষ্টা করা হয়েছিল কিন্তু শেষ পর্যন্ত, আরনাউল্ডের সমাধানটি খাপ খাওয়ানো শেষ হয়েছিল। আশা করি, আবার আরও খাটো করে কাজ করতে পারেন তবে আমি কখন এটি ব্যবহার করব জানি না another

tBn)i`Fr4È(e3
Two4e0
MÇ@r Ýõ Êelf1d a¥23
O01¿t Í
23
TËG4two3
Five4fr3`·g`v`b¢Î)r\dÈ°g[V=` Ò¤ Ýõ`W=Uf/ w.*\n/s `  e`V±'sV+W+`¿t § `]

এটি চেষ্টা করুন - সমস্ত আয়াত অন্তর্ভুক্ত


2

বাশ , 373 355 বাইট

এখানে খুব বেশি পাগল কিছু নেই। একটি সহজ কয়েকটি বাইট হ্রাস হ'ল দ্বি-অক্ষর ভেরিয়েবলগুলি (a1, a2, a3, e1..e6) একক চরিত্রের সাথে প্রতিস্থাপন করা।

read a{1..3} b
read c
read d
read e{1..6}
W="$e1 $e2"
X="${e3^} $a2 $a3"
Y="$e5 $e6"
Z="$e4 $Y"
p=$X
case $a1 in M*)p="Five ${Y::12}";s="but only four $Y";;O*)p="${d::11} herself";s="and all of $Z";;Tw*)p=${X/s};s="$e1 none of the $a2 ducks $e6";;Th*)s="$W one $e4 duck $e6";;Fo*)s="$W two $Z";;Fi*)s="$W three $Z";;esac
echo $p $b;echo $c;echo $d;echo $s

এটি অনলাইন চেষ্টা করুন!

এটি অনলাইন চেষ্টা করুন!


2

05 এ বি 1 ই , 134 বাইট

“€µ‚•„í†ìˆÈ“#’ „ê Ðœs’δJ樅î¥Ðœº¶s‚ìðδJD…€³€É δ쨦“€ƒ€Ÿ€‚€€““€³Šª€‚€€“‚’ „ê Ðœs ’δJ셋邃.δJU.•4Ôāl•|н2èk©è.ª?I„ 
ý#3.$17£ðý„ 
¶:,X®è?

এটি অনলাইন চেষ্টা করুন!

যেহেতু আমি 05AB1E এ তুলনামূলকভাবে নতুন, এটি সম্ভবত প্রচুর গল্ফ করা যেতে পারে

                ### Preparation of the output strings ###
“€µ‚•„í†ìˆÈ“        push "one two three four five"
#                   split that by spaces
’ „ê Ðœs’           push " little ducks"
δJ                  join each number with " little ducks"
ć¨                  separate "one little ducks" and drop the "s"
…î¥Ðœº¶             push "mother duck herself"
s                   swap it with "one little duck"
‚ì                  prepend both strings to the list ["mother duck herself", "one little duck", "two little ducks" ... ]
ðδJ                 append a space to each list entry
D                   duplicate it
…€³€É               push "but only "
δì                  prepend "but only " to each list entry
¨¦                  drop the first and last list entry
“€ƒ€Ÿ€‚€€“          push "and all of the"
“€³Šª€‚€€“          push "but none of the"
‚                   push the two strings into a list
’ „ê Ðœs ’δJ        append " little ducks " to each
ì                   prepend it to the sentence list ["and all of the little ducks ", "but none of the little ducks ", "but only one little duck " ...]
…‹é‚ƒ.              push "came back."
δJ                  append that to each list entry
U                   save that list in X for later use

                ### Determine which verse has to be answered ###
.•4Ôāl•             push "eoruvt"
|н2è                get the third letter of the input
k                   get the index of that letter in "eoruvt". Now we know which verse we must return
©                   save that index in ® for later use

                ### Print the answer strings ###
è.ª?                print that index of the first sentence list (first three words of answer)
I„                  join the four input strings by <space><newline>
ý
#                   split that by spaces
3.$                 cut off the first three words
17£                 keep only the next 17 words
ðý                  join remaining words by spaces
„ 
¶:                  replace <space><newline> by only <newline>
,                   print that ("went out ... Quack\",") 
X®è?                print the last line of answer

1

পার্ল 6 , 247 বাইট

{S:i/ne\sl.*?<(s//}o{m/..(.)(\S*)**3%\s(.**92).*(.**11)/;[(my$l=" little ducks")~$3 XR~"Mother duck herself$2and all of the","One{$l~=$2}but none of the","Five{$l~="but only "}four","Four{$l}three","Three{$l}two","Two{$l}one"]["eotvur".index($0)]}

এটি অনলাইন চেষ্টা করুন!

অবশ্যই গল্ফযোগ্য, বিশেষত ফর্মের তালিকার শেষ 5 টি উপাদান "num $l num-1"বা প্রারম্ভিক রেজেক্স যা পুরানো ইনপুটটির ডান অংশগুলির সাথে মেলে।


1

কাঠকয়লা , 156 বাইট

≔⌕tvuroe§θ²δ§⪪”↶0∨↘»≔xj➙⌈´βXPNLA‽⟦O⧴&▷V'¦³≧ψZρ⊞t”¶δF‹δ⁵”↶↧V4ⅉH‴G%”F‹δ⁴s⮌…⮌θ¹⁸⸿η⸿ζ⸿§⪪”}∧h⁴NQ≕Q^⪫ΦG✂q'ⅉMG./_⸿s⁵6P⁴″⊟±NNpOfBz↷Fι‖TM→⁻γ?k⁴ς!d⁵º'E,θ}x§-υ”¶δ✂ε±¹¹

এটি অনলাইন চেষ্টা করুন! লিঙ্কটি কোডটির ভার্জোজ সংস্করণ। ব্যাখ্যা:

≔⌕tvuroe§θ²δ

আমরা কোন আয়াতটি চাই তা কার্যকর করার জন্য প্রথম লাইনের তৃতীয় চরিত্রটি দেখুন।

§⪪”↶0∨↘»≔xj➙⌈´βXPNLA‽⟦O⧴&▷V'¦³≧ψZρ⊞t”¶δF‹δ⁵”↶↧V4ⅉH‴G%”F‹δ⁴s⮌…⮌θ¹⁸

আউটপুট স্ট্রিং তালিকায় ইন্ডেক্স প্রথম লাইনের প্রথম অংশ Five, Four, Three, Two, One, Mother duck herself। তারপরে মুদ্রণ করুন little duckএবং sযথাযথভাবে অনুসরণ করুন, এরপরে ইনপুট লাইনের শেষ 18 টি অক্ষর (যা প্রতিটি পর্বে সর্বদা একই থাকে)।

⸿η⸿ζ⸿

মাঝের দুটি লাইন প্রতিটি আয়াতে সর্বদা একই থাকে।

§⪪”}∧h⁴NQ≕Q^⪫ΦG✂q'ⅉMG./_⸿s⁵6P⁴″⊟±NNpOfBz↷Fι‖TM→⁻γ?k⁴ς!d⁵º'E,θ}x§-υ”¶δ✂ε±¹¹

শেষ লাইনের জন্য এটি little ducksকোনও কারণে বিকল্পের তালিকায় অন্তর্ভুক্ত করার জন্য গল্ফিয়ার হিসাবে দেখা গেছে , তবে শেষ 11 টি অক্ষর এখনও ইনপুট থেকে অনুলিপি করা হয়েছে।


1

কালি , 353 বাইট

=d(v)
~temp n=(v?"Fi")+(v?"F")*4+(v?"Th")+(v?"T")*2+(v?"O")
{n-1:{n:{n-5:{n-4:{n-3:One|Two}|Three}|Four}|Five} little duck{n-2:s}|Mother duck herself} went out one day,
over the hills and up away,
Mother Duck said "Quack Quack Quack Quack",
{n-1:but {n-2:only {n:{n-5:{n-4:one|two}|three}|four}|none of the}|and all of the} little duck{n-3:s} came back.

এটি অনলাইন চেষ্টা করুন!

প্রথমত, চেক সাবস্ট্রিং ব্যবহারসমূহ জিনিসটা কি শ্লোক আমরা গেছে - শুরুতে সংখ্যার ক্যাপিটালাইজেশন সহজ যথেষ্ট ধন্যবাদ যে - F, Tএবং Oঅন্য কোন স্থানে ঘটবে না, এবং আপনার কাছ থেকে দ্বিতীয় ও চতুর্থ আয়াতে আলাদা করতে পারেন প্রথম এবং তৃতীয়টিও পরীক্ষা করে দেখুনFiTh যথাক্রমে এবং অনুসন্ধান করে

তারপরে আমরা কেবল কালিটি সর্বোত্তমভাবে কাজ করে যা করি এবং শর্তযুক্ত সাদামাটা পাঠ্য মুদ্রণ করি। আমি প্রথমে সুইচ স্টেটমেন্টগুলি ব্যবহার করার চেষ্টা করেছি, তবে এটি দেখতে আরও সুন্দর লাগছে, এটি আসলে আরও দীর্ঘ হয়েছে।
আপনি Quackভেরিয়েবলগুলি ব্যবহার করার জন্য এসগুলি ভাল জায়গা হতে পারে a স্ট্রিংয়ের সাহায্যে একটি গুচ্ছ পুনরাবৃত্তি হতে পারে তবে ভেরিয়েবলগুলি যথেষ্ট পরিমাণে ওভারহেডের সাথে আসে যা প্রতিটি ক্ষেত্রেই আমি চেষ্টা করেছিলাম কোডটি দীর্ঘায়িত করে। সম্ভবত এটি একটি চিহ্ন যা আমি কালি গল্ফ করার কথা না।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.