ওল্ড লেডি ছিল


23

আপনার লক্ষ্য হ'ল এমন একটি প্রোগ্রাম লিখুন যা নীচের কবিতাটি ঠিক এখানে ছাপা হয়:

There was an old lady who swallowed a fly.
I don't know why she swallowed that fly,
Perhaps she'll die.

There was an old lady who swallowed a spider,
That wriggled and iggled and jiggled inside her.
She swallowed the spider to catch the fly,
I don't know why she swallowed that fly,
Perhaps she'll die.

There was an old lady who swallowed a bird,
How absurd to swallow a bird.
She swallowed the bird to catch the spider,
She swallowed the spider to catch the fly,
I don't know why she swallowed that fly,
Perhaps she'll die.

There was an old lady who swallowed a cat,
Imagine that to swallow a cat.
She swallowed the cat to catch the bird,
She swallowed the bird to catch the spider,
She swallowed the spider to catch the fly,
I don't know why she swallowed that fly,
Perhaps she'll die.

There was an old lady who swallowed a dog,
What a hog to swallow a dog.
She swallowed the dog to catch the cat,
She swallowed the cat to catch the bird,
She swallowed the bird to catch the spider,
She swallowed the spider to catch the fly,
I don't know why she swallowed that fly,
Perhaps she'll die.

There was an old lady who swallowed a horse,
She died of course.

পাঠ্যটি এখানে যেমন হয় ঠিক তেমন প্রদর্শিত হবে এবং খুব কম অক্ষরই জিততে পারে।

সম্পাদনা করুন: আপনার প্রোগ্রামটি ইন্টারনেট অ্যাক্সেস করতে পারে না।


2
ইউটিএফ -8 এনকোডেড বাইটে গণনা করা হয়?
জেবি

গল্ফ স্পষ্টভাবে "অল্প চরিত্রগুলি" বলেছে, বাইটগুলি নয়। এখনও এটি বৈধ প্রোগ্রাম হিসাবে আপনি কীভাবে এটি চান তা এনকোড করুন।
থমাস এডিং

1
রেফারেন্সের জন্য, কবিতাটি 1208 অক্ষর দীর্ঘ।
জেবি

উত্তর:


16

পার্ল 5.10, 392 384 372 235 369 (এএসসিআইআই) / 234 (ইউনিকোড)

এর সংক্ষিপ্ততম ASCII সংস্করণটি 369 অক্ষর দীর্ঘ:

@_=(fly,spider,bird,cat,dog);$_="There was an old lady who!ed a";for$P("",",
That wrJand Jand jJinside her",",
How absurd&",",
Imagine that&",",
What a hog&"){$p=$c;$c=$".shift@_;$t=$p?"She!ed the$c to catch the$p,
$t":"I don't know why she!ed that$c,
Perhaps she'll die.

$_";$_.="$c$P.
$t";s/&/ to! a$c/}s/!/ swallow/g;s/J/iggled /g;say"$_ horse,
She died of course."

এটি এই বেস প্রোগ্রাম থেকে শুরু হয়েছিল:

my @animals = qw(fly spider bird cat dog);
my $buf = "There was an old lady who swallowed a ";
for my $phrase ( "",
                 ",\nThat wriggled and iggled and jiggled inside her",
                 ",\nHow absurd&",
                 ",\nImagine that&",
                 ",\nWhat a hog&" ) { 
  $previous = $current;
  $current = shift @animals;
  $trail = $previous ? "She swallowed the $current to catch the $previous,\n$trail"
                     : "I don't know why she swallowed that $current,\n"
                       . "Perhaps she'll die.\n\n$buf";
  $buf .= "$current$phrase.\n$trail";
  $buf =~ s/&/ to swallow a $current/;
}
say "$buf horse,\nShe died of course.";

মূল ধারণাটি হ'ল ছড়ার সমাপ্তি এবং পরেরটি শুরুতে রাখা $trail, আমরা পাশাপাশি চলতে চলতে এটি বাড়িয়ে তুলি। এটি প্রথম ব্যবহারের জন্য একটি বিশেষ কেসের প্রয়োজনে এবং ততক্ষণ প্রাণী-নির্দিষ্ট বাক্যাংশে পশুর নাম পরিবর্তনশীল পুনরায় ব্যবহারের চেষ্টা করে অ-তুচ্ছ তৈরি করেছে। আরও অনুকূলিতকরণ অন্তর্ভুক্ত:

  • প্রতিটি কিছুর জন্য এক-চরিত্রের শনাক্তকারী
  • পশুর তালিকার জন্য উদ্ধৃত স্ট্রিংয়ের পরিবর্তে খালি শব্দ ব্যবহার করা
  • সঁচায়ক ব্যবহার $_জন্য $bufসবচেয়ে প্রতিকল্পন অপারেশন কমান এমনকি আরও বেশি (ব্যবহারের @_অভ্যাসের জোর করে এবং অন্য কোনো চরিত্র চেয়ে আরো কিছু win না)
  • প্রাণীর নাম ভেরিয়েবলের অভ্যন্তরে পূর্ববর্তী স্থান সহ (ভেরিয়েবল থেকে নেওয়া স্থানের অক্ষর $")
  • সর্বাধিক সাধারণ বাক্যাংশগুলি সংক্ষিপ্ত করতে রিজেক্সপ প্রতিস্থাপন: ' swallow'এবং'iggled '
  • কোনও কোড ব্যবধান নেই যা কিছু এবং সমস্ত \nস্ট্রিং লিটারেলগুলিকে আসল নিউলাইনগুলির সাথে প্রতিস্থাপন করা হয়েছে

সর্বশেষ অপটিমাইজেশন বাদে সমস্ত এটিকে দেয়:

@_ = (fly, spider, bird, cat, dog);
$_ = "There was an old lady who!ed a";
for $P ( "",
         ",\nThat wrJand Jand jJinside her",
         ",\nHow absurd&",
         ",\nImagine that&",
         ",\nWhat a hog&" ) { 
  $p = $c;
  $c = $" . shift @_;
  $t = $p ? "She!ed the$c to catch the$p,\n$t"
          : "I don't know why she!ed that$c,\nPerhaps she'll die.\n\n$_";
  $_ .= "$c$P.\n$t";
  s/&/ to! a$c/;
}
s/!/ swallow/g;
s/J/iggled /g;
say "$_ horse,\nShe died of course.";

অতিরিক্তভাবে, এই গল্ফ অপ্রকাশিত এনকোডিং সমস্যার শিকার। যেহেতু এটি now এখন অবধি a নির্দিষ্ট এনকোডিংয়ে বাইটের পরিবর্তে স্বতন্ত্র চরিত্রগুলি গণনা করে, শুরু করার আগে ইউসিএস 2 থেকে প্রোগ্রামের উত্সটি ডিকোড করে একটি বড় অর্জন করা যায়। চূড়ান্ত ফলাফলটি খুব বেশি পঠনযোগ্য নয়, তবে এটি সংক্ষিপ্ত রয়েছে। (২৩৪ টি অক্ষর, perl -E''যথারীতি থেকে পৃথক হিসাবে গণনা করা হয় ) (এটিকে বৈধ ইউসিএস 2 তৈরি করতে আমাকে পিছনের নতুন লাইনের পিছনে অন্তর্ভুক্ত করতে হবে)

$ perl -MEncode=from_to -e'$_="䁟㴨晬礬獰楤敲Ɫ楲搬捡琬摯朩㬤弽≔桥牥⁷慳⁡渠潬搠污摹⁷桯Ⅵ搠愢㭦潲⑐⠢∬∬੔桡琠睲䩡湤⁊慮搠橊楮獩摥⁨敲∬∬ੈ潷⁡扳畲搦∬∬੉浡杩湥⁴桡琦∬∬੗桡琠愠桯朦∩笤瀽④㬤挽␢⹳桩晴䁟㬤琽⑰㼢卨攡敤⁴桥④⁴漠捡瑣栠瑨攤瀬ਤ琢㨢䤠摯渧琠歮潷⁷桹⁳桥Ⅵ搠瑨慴④Ⰺ健牨慰猠獨攧汬⁤楥⸊ਤ弢㬤弮㴢④⑐⸊⑴∻猯☯⁴漡⁡④⽽猯ℯ⁳睡汬潷⽧㭳⽊⽩杧汥搠⽧㭳慹∤张桯牳攬੓桥⁤楥搠潦⁣潵牳攮∊";from_to($_,utf8,ucs2);eval'

ইউনিকোডে আশ্রয় নেওয়ার আগে গল্ফ করার মতো অনেক কিছুই ছিল বা এটি খুব মজা পাবে না।

সম্পাদনা করুন: এই ব্রাউজারে 234-বর্ণের সংস্করণটি অনুলিপি / আটকানোর কোনও উপায় খুঁজে পাচ্ছে না, তাই আমি 235-অক্ষরটিকে রেখে দিচ্ছি। এই সন্ধ্যায় ঠিক করব, যখন আমি সত্যিকারের ইউটিএফ 8-সচেতন ক্লিপবোর্ডে হাত পাব। একটি উপায় খুঁজে পেয়েছি। আদর্শের উপর কোয়েস-প্রুফ।


2
আমি আমার উচ্ছেদ বাতিল। ইউনিকোড প্যাকিং কৌশলটি পুরানো হচ্ছে।
জোয় অ্যাডামস

2
প্যাকবিহীন সংস্করণটি এখনও রয়েছে, আপনি জানেন; পি
জেবি

5
@ জোয়্যা অ্যাডামস সত্যিই? আমি আপনার মন্তব্যটি পড়া না হওয়া পর্যন্ত প্যাক করা সংস্করণটিও লক্ষ্য করিনি
সায়োস

8

পার্ল, 120 94 অক্ষর

গণনায় দোভাষীর কাছে কল অন্তর্ভুক্ত।

আপনি এখানে ঠিক যেমন এটি পুনরুত্পাদন করতে বলেছিলেন ;)

perl -MLWP::Simple -E'($p=get("http://goo.gl/kg17j"))=~s#^.+?pr.*?de>|</co.*?re>.+$##sg;say$p'

বিশেষ দ্রষ্টব্য

এই সমাধানটি 'নো-ইন্টারনেট' সীমাবদ্ধতার অনুরোধ জানায়। এটি ভবিষ্যতের কোড-গল্ফ প্রশ্নের স্পেসিফিকেশনের জন্য একটি পাঠ্য হোক :)


3
এই এন্ট্রিটি পোস্ট করার মুহুর্তে এই রেকর্ডটি কুইনে পরিণত হয়েছিল! সামান্য রেজেক্স ম্যানিপুলেশন পরিষেবাটি স্বাভাবিক অবস্থায় ফিরিয়ে দিয়েছে ...
জায়েদ

2
এটি সমাধানের পচা উপায়, কারণ এটি বাইরের উত্সের অস্তিত্বের উপর নির্ভর করে। আমি প্রশ্নটির দৈর্ঘ্যটিকে তার বিপরীতে গণনা করব যেমন কোনও প্রোগ্রাম যা কোনও ফাইল থেকে কবিতাটি পড়ে read
dmckee

2
বাইরের রিসোর্সগুলি সমস্যা নয়, যেহেতু এটি সম্পদ কী এবং পরিবেশ কী তা একেবারেই প্রশ্নবিদ্ধ। আমি কঠোরভাবে সংজ্ঞায়িত প্রাথমিক প্রশ্নে ফাঁক ব্যবহার করতে পছন্দ করি। এটি কোনও সমাধান নয়, তবে প্রশ্ন জিজ্ঞাসার যত্ন নেওয়া ভাল উদাহরণ :-)
এন্টে

3
এটি সমাধানের একটি পচা উপায় হতে পারে, তবে এটি বাইরের সংস্থার উপর নির্ভর করে যা প্রশ্নের উত্তরটির মতোই উপস্থিত থাকতে পারে। যা বলা প্রশ্নের উত্তর হিসাবে এটি পুরোপুরি গ্রহণযোগ্য করে তোলে, আইএমও।
জেবি

2
@ ত্রিনিথিস: আমার পোস্টের পরে 'নো-ইন্টারনেট' বিধিনিষেধ আরোপ করা হয়েছিল। স্বীকার করা, সমাধানের কোডিংয়ের ক্ষেত্রে এটি কোনও গুরুতর প্রচেষ্টা নয়, তবে পোস্ট করার সময় এটি নির্দিষ্টকরণের সাথে মিলিত হয়েছিল। ওহ, এবং LWP::Simple হয় পার্ল কোর অংশ, অন্তত v5.12.3 উপর।
জায়েদ

3

পাইথন 3.x: 407 অক্ষর

import base64,zlib;print(zlib.decompress(base64.b64decode(b'eNrlkLFOxDAQRPt8xXTXoHwHdEhEot7L+myD8Z7snKz8Pd6LT7mgFFQIRGftPs/OzOBMMiiUQRESGIF4RnGCXCgEKYZBOIW5B7onsMTDhPcopTIzsjN33ORoUvShos8mOTpnJQ4hgL3pu2741rF89mySigwqWJK3NugmMu6eb+3tY648qrRafPniyDQ5TIKRptFdZ83kz+Q5+sQq8ViP0DFfEquZRrT9vnXdbI2v3fzCoPXs9dgHWR/NorpJWoH9oONCrr5vnf35TlisKryqGsGJ3TZS1/uN8EKurlu5/6k7Jymbm7f6kSEnjHKp0/4TSSOZgA==')).decode('utf8'))

3
আপনি ভালো কিছু করে 391 অক্ষর নিচে এটা পেতে পারেন: আমদানি zlib; মুদ্রণ zlib.decompress ( "" "eJzlkLFOxDAQRPt8xXTXoHwHdEhEot7L + + myD8Z7snKz8Pd6LT7mgFFQIRGftPs / OzOBMMiiUQRES GIF4RnGCXCgEKYZBOIW5B7onsMTDhPcopTIzsjN33ORoUvShos8mOTpnJQ4hgL3pu2741rF89myS igwqWJK3NugmMu6eb + + 3tY648qrRafPniyDQ5TIKRptFdZ83kz + + Q5 + + sQq8ViP0DFfEquZRrT9vnXd bI2v3fzCoPXs9dgHWR / NorpJWoH9oONCrr5vnf35TlisKryqGsGJ3TZS1 / uN8EKurlu5 / 6k7Jymb m7f6kSEnjHKp0 / 4TSSOZgA ==" "" .ডেকোড ('বেস64'))
সুলতানিক

এটি সঙ্কুচিত করার সৃজনশীল উপায়
জুনিয়ররুবিস্ট

3

জাভাস্ক্রিপ্ট (422)

কাজ SpiderMonkey অনুবাদক সংস্করণ উভয় দ্বারা ব্যবহৃত অরাজকতা গলফ এবং ideone

for(a="fly0spider0bird0cat0dog0horse0How absurd0Imagine that0What a hog".split(i=0);p=print;p("I don't know why she swallowed that fly,\nPerhaps she'll die.\n")){p("There was an old lady who swallowed a",a[i]+(i?",":"."));i>4&&quit(p("She died of course."));i&&p(i>1?a[4+i]+" to swallow a "+a[i]+".":"That wriggled and iggled and jiggled inside her.");for(j=i++;j;)p("She swallowed the "+a[j]+" to catch the "+a[--j]+",")}

আরও কিছু সুন্দর বিন্যাসিত:

for (a = "fly0spider0bird0cat0dog0horse0How absurd0Imagine that0What a hog".split(i = 0);
p = print; p("I don't know why she swallowed that fly,\nPerhaps she'll die.\n")) {
    p("There was an old lady who swallowed a", a[i] + (i ? "," : "."));
    i > 4 && quit(p("She died of course."));
    i && p(i > 1
        ? a[4 + i] + " to swallow a " + a[i] + "."
        : "That wriggled and iggled and jiggled inside her."
    );
    for (j = i++; j;) p("She swallowed the " + a[j] + " to catch the " + a[--j] + ",");
}

মাত্র 2 বাইটে 0প্রারম্ভিক iকরতে কৌতুক দ্বারা বিভাজনের চতুর ব্যবহার 0। একটি +1 করুন
সাইয়েস

3

ভিম, 373 কীস্ট্রোক

iThere was an old lady who swallowed a fly.
I don't know why she s<C-n> that f<C-n>,
Perhaps she'll die.

T<C-x><C-l><Left><C-w>spider<Esc>oThat wriggled <Esc>6hiand <Esc>3hy$u$ppbij<End>inside her.
She s<C-n> the sp<C-n> to catch the f<C-n>,
I<C-x><C-l><C-x><C-l><Esc>qqyapGp3jYPkk$Bqcwbird<Esc>+CHow absurd to sw<C-n><Backspace><Backspace> a b<C-n>.<Esc>qwyb5wvep$Bvepq@qcwcat<Esc>+CImagine that to sw<C-p> a cat.<Esc>@w@qcwdog<Esc>+CWhat a hog to sw<C-p> a dog.<Esc>@w@qcwhorse<Esc>+cGShe d<C-p>d of course.

মজাদার যে স্ক্র্যাম্বলিং কতটা তাত্পর্যপূর্ণ।


3

সি (জিসিসি) , 429 424 বাইট

সিলিংক্যাট -5 বাইট ধন্যবাদ

*w[]={"384fly<1","I don't know why she5ed that fly<Perhaps she'll die.772","There was an old lady who5ed a ","She5ed the "," to catch the "," swallow"," to5 a ","\n","spider","bird","cat","iggled ",",7","3948<0"};U(char*s){for(;*s;s++)*s>47&*s<65?U(w[*s-48]):putchar(*s);}f(){U("2fly.718<That wr;and ;and j;inside her.709<How absurd69.7=:<Imagine that6:.73:49<=dog<What a hog6dog.73dog4:<3:49<=horse<She died of course.7");}

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


2

রুবি, 436 টি অক্ষর

w=" swallowed "
f="There was an old lady who#{w}a "
c=" to swallow a %s"
b="dog","cat","bird","spider","fly"
s=nil,"That wriggled and iggled and jiggled inside her","How absurd"+c,"Imagine that"+c,"What a hog"+c
a=[]
5.times{k=g=b.pop;t,*s=s
puts f+k+(t ??,:?.),t&&[t%k+?.,a.map{|x|y,k=k,x;"She#{w}the #{y} to catch the #{k},"}],"I don't know why she#{w}that fly,","Perhaps she'll die.",""
a=[g]+a}
puts f+"horse,","She died of course."

2

স্কালা ( 706 619 599 550 অক্ষর)

val L=Seq("fly","spider","bird","cat","dog")
val M="\nThere was an old lady who %sed a %s,"
type S=String
def s(l:S,a:S="",b:S="")=l.format("swallow",a,b)
def p(l:S,a:S=""){println(s(l,a))}
var i=0
var r=List[S]()
L.map{a=>{p(M,a)
if(i>0){p(Seq("","That wriggled and iggled and jiggled inside her.","How absurd","Imagine that","What a hog")(i)+(if(i>1)" to %s a %s."else""),a)
r::=s("She %sed the %s to catch the %s,",L(i),L(i-1))
r.map(p(_))}
p("I don't know why she %sed that fly,\nPerhaps she'll die.")
i+=1}}
p(M,"horse")
p("She died of course.")

পূর্বাবস্থার পরিবর্তে মানচিত্রটি ব্যবহার করা আরও চরগুলি নিখরচায় করতে দেয় ... কোডগল্ফে, আমরা পারফরম্যান্স, কমনীয়তা (অপরিবর্তনযোগ্যতা) বা যুক্তি সম্পর্কে চিন্তা করি না ...


2

কালি , 370 369 354 বাইট

LIST B=fly,spider,bird,cat,dog,horse
VAR s=" swallow"
-(i)~B=B(i)
There was an old lady who{s}ed a {B}{.|,}
{|That wriggled and iggled and jiggled inside her|How absurd|Imagine that|What a hog|She died of course.->END}{|.| to{s} a {B}.}
-(k)~B--
{B:
She{s}ed the {B+1} to catch the {B},
->k
}I don't know why she{s}ed that fly,
Perhaps she'll die.
\ 
->i

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

ব্যাখ্যা

LIST B=fly,spider,bird,cat,dog,horse           // Ink's "LIST"s aren't much like lists - they're more like enums. Here we create a list type stating what animals exist, and make a set containing none of them.
VAR s=" swallow "                              // Pretty self-explanatory
-(i)~B=B(i)                                    // The i label keeps track of how many times we've visited it. We set B (the set) to be equal to the i-th item in B (the list type).
There was an old lady who{s}ed a {B}{.|,}      // Print the first line. {.|,} is a sequence - it's a period the first time it's encountered, and a comma every subsequent time.
                                               // Sequences can have more than one item in them, which is how we print the second line. When we get to the horse one, we terminate the program right away.
{|That wriggled and iggled and jiggled inside her|How absurd|Imagine that|What a hog|She died of course.->END}{|.|to{s} a {B}}.}
-(k)~B--                                       // Step back through the list type.
{B:                                            // A conditional - we execure the next two lines if B is non-empty.
She{s}ed the {B+1} to catch the {B},           // Print the "she swallowed the..." line
->k                                            // And repeat
}I don't know why she{s}ed that fly,           // Only reached when the conditional fails.
Perhaps she'll die.
\                                              // A backslash and a space to force an empty line.
->i                                            // Back to the top

1

হাস্কেল, 515 498

স্কোর উপস্থাপনার জন্য যুক্ত হওয়া নতুন লাইন এবং স্পেস গণনা করে না।

b c a="There was an old lady who swallowed a "++a++c++".\n"
t r a=b(",\n"++r++" to swallow a "++a)a
s(a,b)="She swallowed the "++a++" to catch the "++b++",\n"
z=["fly","spider","bird","cat","dog"]
h=[b"",b",\nThat wriggled and iggled and jiggled inside her",t"How absurd",
 t"Imagine that",t"What a hog"]
v(g,p)=g++(=<<)s(zip p$tail p)++
 "I don't know why she swallowed that fly,\nPerhaps she'll die.\n\n"
main=putStr$(=<<)v(zip(zipWith($)h z)(tail$scanl(flip(:))[]z))++b
 ",\nShe died of course""horse"

Ungolfed:

type Animal = String
type Comment = String

beginning :: Animal -> Comment -> String
beginning animal comment = "There was an old lady who swallowed a " ++ animal ++ comment ++ ".\n"

ending :: String
ending = "I don't know why she swallowed that fly,\nPerhaps she'll die.\n\n"

to_swallow :: String -> Animal -> Comment
to_swallow start animal = ",\n" ++ start ++ " to swallow a " ++ animal

swallowed_to_catch :: (Animal, Animal) -> String
swallowed_to_catch (a, b) = "She swallowed the " ++ a ++ " to catch the " ++ b ++ ",\n"

animals :: [(Animal, Animal -> Comment)]
animals = [("fly",    const "")
          ,("spider", const ",\nThat wriggled and iggled and jiggled inside her")
          ,("bird",   to_swallow "How absurd")
          ,("cat",    to_swallow "Imagine that")
          ,("dog",    to_swallow "What a hog")
          ]

-- Turn [1,2,3,4,5] into [[1], [2,1], [3,2,1], [4,3,2,1], [5,4,3,2,1]]
trail :: [a] -> [[a]]
trail = tail . scanl (flip (:)) []

verses :: [String]
verses = zipWith verse animals (trail $ map fst animals)

verse :: (Animal, Animal -> Comment) -> [Animal] -> String
verse (animal, comment) swallow_chain =
    beginning animal (comment animal) ++
    concatMap swallowed_to_catch (zip swallow_chain (tail swallow_chain)) ++
    ending

poem :: String
poem = concat verses ++ beginning "horse" ",\nShe died of course"

main :: IO ()
main = putStr poem

(++)সংক্ষিপ্ত শনাক্তকারীর সাথে আলিয়াস করা ভাল ধারণা হতে পারে।
থমাস এডিং

@ থমাসকে অ্যাডারে বা এটিকে #অপারেটর বা অন্য জাতীয় কিছু দিয়ে
রেখে দিন

1

পাইথন, 484

ঠিক আছে, আমি এটি করেছি তবে বেশ বিরক্তিকর ছিল ...

সর্বশেষ বাক্যটি সর্বদা "উড়ে" থাকে তাই কিছু অক্ষর সরানো হয় ...

f,s,b,c,d=o='fly spider bird cat dog'.split()
x='There was an old lady who swallowed a %s.\n'
t=' to swallow a %s.\n'
r=['That wriggled and iggled and jiggled inside her.\n','How absurd'+t%b,'Imagine that'+t%c,'What a hog'+t%d]
t=("She swallowed the %s to catch the %s,\n"*4%(d,c,c,b,b,s,s,f)).split('\n')
print("I don't know why she swallowed that fly,\nPerhaps she'll die.\n\n".join([x%f]+[x%o[i]+r[i-1]+'\n'.join(t[-i-1:])for i in range(1,5)]+[''])+x%'horse'+'She died of course.')

কম গল্ফ সংস্করণ:

f,s,b,c,d = all = 'fly spider bird cat dog'.split()

what = 'There was an old lady who swallowed a %s.\n'

t = ' to swallow a %s.\n'
comments = ['That wriggled and iggled and jiggled inside her.\n',
            'How absurd' + t%b,
            'Imagine that' + t%c,
            'What a hog' + t%d]

swallowed = "She swallowed the %s to catch the %s,\n"
lines = (swallowed*4%(d,c,c,b,b,s,s,f)).split('\n')

end = '''I don't know why she swallowed that fly,
Perhaps she'll die.\n\n'''

def who_catch_who(i):
    return '\n'.join(lines[-i-1:])

p = end.join([what % f] + 
             [what % all[i] +
              comments[i-1] +
              who_catch_who(i) for i in range(1,5)] +
             [''])

print(p + what % 'horse' + 'She died of course.')

1

সি, মজা করার জন্য (561 অক্ষর)


স্কোর উপস্থাপনার জন্য যুক্ত হওয়া নতুন লাইন এবং স্পেস গণনা করে না।

জেবিকে তার উন্নতির জন্য ধন্যবাদ!

#include <stdio.h>

void main() {
    char *e = "\nShe swallowed the cat to catch the bird,\nShe swallowed the bird to catch the spider,\nShe swallowed the spider to catch the fly,\nI don't know why she swallowed that fly,\nPerhaps she'll die.\n\nThere was an old lady who swallowed a ";
    printf("%sfly.%sspider,\nThat wriggled and iggled and jiggled inside her.%sbird,\nHow absurd to swallow a bird.%scat,\nImagine that to swallow a cat.%sdog,\nWhat a hog to swallow a dog.\nShe swallowed the dog to catch the cat,%shorse,\nShe died of course.", e+191, e+128, e+85, e+41, e, e);
}

আপনি কি নিশ্চিত যে আপনার সবগুলি প্রয়োজন &এবং []?
জেবি

1
@ জেবি ঠিক আছে, আপনি একটি [] * এ * এর সাথে প্রতিস্থাপন করতে পারেন এবং কেবল & কে সরাতে পারেন। আপনার 25 টি অক্ষর অর্জন করা উচিত।
ফিলিহো

একটি সাধারণ ভাগ করা স্ট্রিংয়ের মাঝামাঝি পয়েন্টার সহ সি-তে খুব ভাল কিছু করার দরকার রয়েছে।
জেবি

@ ফিলিহ ধন্যবাদ, গতকাল আমার মস্তিষ্কটি কিছুটা ভাজা হয়ে গিয়েছিল এবং আমি &পয়েন্টারগুলি ব্যবহার করার সময় সেগুলি সরিয়ে দিতে ভুলে গিয়েছিলাম এবং এটি কার্যকর হয়নি: পি। জেবি, আমি এমন একটি পদ্ধতি জানি না যার জন্য সূচীকরণের প্রয়োজন হবে না (এবং আরও বেশি অক্ষর ব্যবহার করুন)।
ম্যাথু

1
এটার মতো কিছু. আপনার সংস্করণ, পুনরায় অর্ডার, 627 অক্ষর পেস্টবিন . com/ এমকিউ 4 এলজেই 7 ; আমার সংস্করণ, 561 অক্ষর পেস্টবিন.com
জেবি

1

সি #, 556 অক্ষর

class P{static void Main(){string a="There was an old lady who swallowed a ",b="I don't know why she swallowed that ",c="She swallowed the ",d=" to catch the ",e="Perhaps she'll die.\n\n",f="fly",g="spider",h="bird",i="cat",j="dog",k=",\n",l=".\n",m="to swallow a ",n=c+g+d+f+k,o=c+h+d+g+k,p=b+f+k,q=c+i+d+h+k,r=n+p,s=o+r,t=q+s,u=e+a;System.Console.Write(a+f+l+p+u+g+k+"That wriggled and iggled and jiggled inside her"+l+r+u+h+k+"How absurd "+m+h+l+s+u+i+k+"Imagine that "+m+i+l+t+u+j+k+"What a hog "+m+j+l+c+j+d+i+k+t+u+"horse"+k+"She died of course.");}}

1

পার্ল, 489 অক্ষর

sub Y{$t=pop;my$s;while($b=pop){$s.="She ${W}ed the $t to catch the $b,\n";$t=$b;}$s.=$l{fly}.$/;}$W='swallow';$w='iggled';$q=" to $W a";$o="There was an old lady who ${W}ed a";$h='hat';@f=qw/fly spider bird cat dog/;@l{@f}=("I don't know why she ${W}ed t$h fly,
Perhaps she'll die.$/","T$h wr$w and $w and j$w inside her.","How absurd$q bird.","Imagine t$h$q cat.","W$h a hog$q dog.");map{$m=$f[$_];print"$o $m,
$l{$m}
",$_?Y@f[0..$_]:'';}0..$#f;print"$o horse,
She died of course.$/"

1

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

<?=gzinflate(base64_decode("5VAxTsQwEOz9iu2uifIO6JA4iXovu2cbjPdk+2Tl96zjoLugFFQIRGfNjGdn5ug4MVTMgBEkEASkGaoTyBVDkMoECOcwj+YRSOKhwFuUqooZsuM7VXFYmnAwT5wcXnLjDyEAeR6NOX7rUL544jSoWs1q8taGhkeCu+fr+vYxqxrUeDTPX7LwagVFYMIyuQVb4v1Ej5NPNJgHPYCnfE3UYqz8yu5Fbvg28Ocev6yentRD72h95O646af0Xr2p6255+0p/eAcSO5iX5oTgxG5XUHJvBeq6W9plzP+wlpOUuafSbwRyhkmuio0f"));

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

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

<?=strtr("0fly.
106That wr8and 8and j8inside her.
23107,
How absurd57.
274623109,
Imagine that59.
2947,
27462310dog,
What a hog5dog.
2dog49,
2947,
27462310horse,
She died of course.",["There was an old lady who swallowed a ","I don't know why she swallowed that fly,
Perhaps she'll die.

","She swallowed the ","spider to catch the fly,
"," to catch the "," to swallow a ","spider,
",bird,"iggled ",cat]);

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


1

বুবলগাম, 255 বাইট

0000000: e0 04 85 00   f7 5d 00 2a   1a 08 a7 55   8e 22 31 d2 │ à...÷].*..§U."1Ò
0000010: cb f7 30 fa   52 4d 88 81   61 e4 be 9d   c2 f0 0e f8 │ Ë÷0úRM..aä¾.Âð.ø
0000020: dc c9 de 24   63 c9 1f c7   f7 71 e4 ed   40 68 0e d2 │ ÜÉÞ$cÉ.Ç÷qäí@h.Ò
0000030: cd 76 d8 d9   0d 61 78 f7   40 cf 23 95   48 e9 be 27 │ ÍvØÙ.ax÷@Ï#.Hé¾'
0000040: aa 75 57 ff   51 9e 1f 1f   25 d8 93 4d   18 69 c9 01 │ ªuWÿQ...%Ø.M.iÉ.
0000050: 12 16 ec c1   ff e0 01 7e   fa ea 1e cc   84 d7 58 b8 │ ..ìÁÿà.~úê.Ì.×X¸
0000060: 47 d4 40 b4   ff c7 64 a9   2f 07 bf 7b   f4 25 74 94 │ GÔ@´ÿÇd©/.¿{ô%t.
0000070: af da 8a fc   0c 18 81 58   b8 3c 2e 97   c0 9d e8 27 │ ¯Ú.ü...X¸<..À.è'
0000080: 3e 02 8a d2   1b 7c 94 cc   cb f4 05 7c   c7 77 f3 75 │ >..Ò.|.ÌËô.|Çwóu
0000090: ea 7e 02 d6   3a 84 5c 4e   1f 88 e7 03   9a 1d 3f 13 │ ê~.Ö:.\N..ç...?.
00000a0: a6 9f 2e cf   be 77 16 be   f1 5f 01 52   cf 13 89 b3 │ ¦..Ͼw.¾ñ_.RÏ..³
00000b0: f3 8a f7 90   18 08 50 99   27 f7 83 d2   a4 32 08 76 │ ó.÷...P.'÷.Ò¤2.v
00000c0: ef b4 99 6c   80 dd 1a 47   04 26 fe b1   02 b3 d4 e7 │ ï´.l.Ý.G.&þ±.³Ôç
00000d0: 3d 44 3a 64   64 46 39 77   35 61 6b 6c   7b 68 34 db │ =D:ddF9w5akl{h4Û
00000e0: 51 75 39 2e   bc 46 8e 96   d1 8a 4c 79   f4 7a 7b e0 │ Qu9.¼F..Ñ.Lyôz{à
00000f0: f5 44 85 eb   ef 68 d5 22   26 4a 2a ef   fc 60 00    │ õD.ëïhÕ"&J*ïü`.

1

পাইথন 2 , 453 442 427 387 বাইট

  • @ নোর 11 টি বাইট সংরক্ষণ করেছেন: ধন্যবাদ একটি টন !!: পয়েন্ট£ আগে ব্যবহৃত ডাবল বাইট চর ছিল !!
  • 15 বাইট সংরক্ষণ করা: swallow শর্টহ্যান্ড
  • @ অন্য 40 টি বাইট সংরক্ষণ করেছেন !!!!!অনেক ধন্যবাদ!!!
  • @ জাচারি টি 1 বাইট সংরক্ষণ করেছেন: inএবং এর মধ্যে স্থান space"..." সরানো
  • নোটপ্যাড ++ এর অনুসন্ধান এবং প্রতিস্থাপনের সরঞ্জামটি ধন্যবাদ। ;)
r="%2(:0)That wr66j5 inside her(_1)How absurd+1({3)Imagine that+3(}4)What a hog+4(~4*3)}horse)She died of course."
for i in"}~3*1){!{~1*0)_!_~0*2):!:^2)$%!~She7ed the !%There was an old lady who7ed a !$Perhaps she'll die(\n!* to 3ch the !^I don't know why she7ed that !+ to7 a !(.\n!),\n!0spider!1bird!2fly!3cat!4dog!65 and !5iggled!7 swallow".split("!"):r=r.replace(i[0],i[1:])
print r

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


1
আপনি ~পরিবর্তে ব্যবহার করে প্রচুর বাইট সংরক্ষণ করতে পারেন £(এটি ASCII না হওয়ার কারণে যা দুটি বাইট দীর্ঘ)।
নুর

ওহ, থ্যাঙ্কস ম্যান! কখনই জানতাম না যে এটি একটি বর্ধিত চরিত্র!
অফিসিয়ালাইম

1
এখনও করা যায় প্রশংসনীয় প্রচন্ডভাবে golfed (শুরুতে 1 প্রতীক সঙ্গে কয়েক অক্ষর Python2 ব্যবহার করে, এবং আরো অনেক কিছু প্রতিস্থাপন নিখুঁত দ্বারা)
nore

1
আপনার inএকটি স্ট্রিং আক্ষরিকের মধ্যে কোনও স্থানের প্রয়োজন নেই ।
জাচারা

1

গ্রোভি, 475 বাইট

b="swallowed"
a="There was an old lady who $b a"
c="I don't know why she $b that fly,\nperhaps she'll die."
d="She $b the"
e=" to catch the"
f=" to swallow a"
g="iggled"
h=" spider"
i=" fly"
j=" dog"
k=" cat"
l=" bird"
m="$d$h$e$i,"
n="$d$l$e$h,"
o="$d$k$e$l,"
print"""
$a$i.
$c

$a$h,
That wr$g and $g and j$g inside her.
$m
$c

$a$l,
How absurd$f$l.
$n
$m
$c

$a$k,
Imagine that$f$k.
$o
$n
$m
$c

$a$j,
What a hog$f$j
$d$j$e$k,
$o
$n
$m
$c

$a horse,
She died of course."""

খুব আকর্ষণীয় কিছু নয়, কেবল স্ট্রিং ইন্টারপোলেশন tion এই এক উপর গল্ফিং টিপস স্বাগত!


আপনি কি গিলে, অগভীর নয় লিখতে চেয়েছিলেন?
ধ্বংসাত্মক লেবু

@ উদ্বেগযোগ্য লেবু এটি এখনই ঠিক করা হয়েছে: পি
অবিচলিত

1

tcl, 451 বাইট

lassign {\ swallowed fly, spider " to catch the " bird cat iggled " to swallow a"} W f s c b a i w
puts "[set t "There was an old lady who$W a "]fly.
[set I "I don't know why she$W that $f
Perhaps she'll die.

"]$t$s,
That wr$i and $i and j$i inside her.
[set S "She$W the "]$s$c$f
$I$t$b,
How absurd$w $b.[set v \n$S$b$c$s,\n$S$s$c$f\n$I]$t$a,
Imagine that$w $a.
[set X $S$a$c$b,$v$t]dog,
What a hog$w dog.
${S}dog$c$a,
$X\horse,
She died of course."

চালানোর জন্য উপলব্ধ: http://rextester.com/live/GXF89639 (দশম প্রচেষ্টা)


1

ওল্ফ্রাম ভাষা (গণিত) , 295 বাইট

BinaryDeserialize@ByteArray@ToCharacterCode@"8C:xœåPANÃ0<ãWì­—(ï€R‘8o³[ÛÅx+;••ðnÖqª6(NÄÍšÏÎÌþãáÅqb(˜#H H'† …	Žaê͐ÄÝoQŠ*&ÈŽïT£Ã±
;óÌÉá9W~çÞ˜ïÊgOœ:U«YIÞÚPñHp÷<-o³ªA{³ÿ’…+7cs¼Ÿèqð‰:ó¨ð/‰jŒ…_Ø­È_¾îñËêéI=ôŽÖGnŽ«~JoÕšî–·­ô‡w ±y­NNìz%·V ¦»¥Çük9I™[*ýF Gä¢Xÿ	Tÿ”\""

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

এই BinaryDeserialize@ByteArray@ToCharacterCode@"..."দ্রবণটি ASCII স্ট্রিং হিসাবে একটি 248-বাইট অ্যারে মাস্ক্রেডিংয়ে অভিনয় করা 46-বাইট ডিকম্প্রেসার । বিভিন্ন প্রোগ্রামের মধ্যে এই স্ট্রিং স্থানান্তর করা কিছুটা জটিল। টিআইও, উদাহরণস্বরূপ, ASCII স্ট্রিংটি রাখার পরিবর্তে ইউটিএফ -8 এনকোডিং ব্যবহার করে এই সমাধানটি 416 বাইটে প্রবাহিত করবে। সর্বনিম্ন 295-বাইট সমাধান পেতে, একটি ভেরিয়েবলটিতে পাঠ্য সংরক্ষণ করুন textএবং চালান

BinaryWrite["ThereWasAnOldLady.wl", Join[
  ToCharacterCode["BinaryDeserialize@ByteArray@ToCharacterCode@\""],
  Normal[BinarySerialize[text, PerformanceGoal -> "Size"]] /. {34 -> Sequence[92, 34]},
  ToCharacterCode["\""]]]

তারপরে উত্পন্ন ফাইলটি কমান্ড-লাইনের সাথে চালিত করুন

wolframscript -print -f ThereWasAnOldLady.wl 

0

জাভা 758 অক্ষর

এখানে আমার জাভা প্রচেষ্টা (758 অক্ষর)

public class Poem{public static void main(String[] args){String s1="swallowed",st="There was an old lady who "+s1+" a |.",d1="Perhaps she'll die.",d2="She died ofcourse.",e="I don't know why she " + s1 + " that fly,\n";String[] a={ "fly","spider","bird","cat","dog","horse"};String[] q={ "","That wriggled and iggled and jiggled inside her.","How absurd |","Imagine that |","What a hog |",null};for(int i=0;i < a.length;i++){print(st.replace("|",a[i]));if(q[i]==null){print(d2);break;}if(!q[i].isEmpty()){               print((q[i].replace("|","to swallow a " + a[i])).trim());for(int j=i;j > 0;j--){print("She swallowed the " + a[j] + " to catch the " + a[j - 1] + ",");}}print(e + d1 + "\n");}}
static void print(String value){System.out.println(value);}}

2
আপনি কিছু অক্ষর অর্জন করতে পারেন ... কবিতা => পি, আরগস => এক্স, মুদ্রণ => পি, মান => ভি, দুটি বর্ণ বর্ণ => একটি বর্ণ বর্ণ, আরও স্থান সরিয়ে ফেলুন।
ফিলিহো

0

জাভা, 655 বাইট

public class M{public static void main(String[]P){String S="swallowed",T="There was an old lady who "+S+" a |.",e="I don't know why she "+S+" that fly,\n";String[]a={"fly","spider","bird","cat","dog","horse"};String[]q={"","That wriggled and iggled and jiggled inside her.","How absurd |","Imagine that |","What a hog |",null};for(int i=0;i<a.length;i++){p(T.replace("|",a[i]));if(q[i]==null){p("She died of course.");break;}if(!q[i].isEmpty()){p((q[i].replace("|","to swallow a "+a[i])).trim());for(int j=i;j>0;j--){p("She swallowed the "+a[j]+" to catch the "+a[j-1]+",");}}p(e+"Perhaps she'll die.\n");}}static void p(String v){System.out.println(v);}}

এটি এই উত্তরের একটি গল্ফ সংস্করণ । ছোট ছোট জিনিসগুলিতে 100 টিরও বেশি বাইট সংরক্ষণ করা হয়েছে।


গল্ফ আরও কিছু জিনিস: public অপসারণ করা যেতে পারে; class M{public static void mainহতে পারে interface M{static void main; String S=...,T=...,e=...;String[]a=...;String[]q=...;হতে পারে String S=...,T=...,e=...,a[]=...,q[]=...;; for(int i=0;...)...for(int j=iহতে পারে for(int i=0,j;...)...for(j=i; for(j=i;j>0;j--)...a[j]...a[j-1]হতে পারে for(j=i;j>0;)...a[j]...[a--j]; ( 623 বাইট ) static void p(String v){...}হতে পারে এটি অনলাইনে চেষ্টা করুন। static<T>void p(T v){...}
কেভিন ক্রুইজসেন

0

কাঠকয়লা , 369 366 বাইট

A”↓0*)B⎚D³9;7Q7∨-f¶_²χ⁶;↧l⁺I´”¦αA“V×q▶²▷O≕⦃0j↖▷(τ⎇⦄4ω\`j0T⁹ψI2b1züρÀ↑‹⁻ê£AZ‹?DOR§1φ”¦βA⟦spider¦bird¦cat¦dog⟧¦λA,¶¦νA⟦”↶7⎇IPVpθθ⪪➙S²p⸿H⁸✂ν‖2↖²φ↘nτME⦄B↓ξlF⁵y”¦”↶7Nl@;⪫λ38N∕´≕⁺)³ nÀ‴⦃”¦”↶7←´<7YKBYχnZ-↖U⎇ι\HUθ%;⟧”¦”↶7∧§‴⟧O×φ¢\`*NQ¶G⁺$π‽ξat”⟧μA”↓/!Zm⪫⟧αÀ⁻Vε>⟲”¦σA”|‽aC-⁴t;Z⌕”¦τA“Y∨↷ur1BO#ÿk»⁻υv‽⌊←zω↘^”¦η⁺αβF⁴«⁺⁺⁺α§λιν§μιF⮌…⁰ι«⁺⁺⁺⁺σ§λ⁺κ¹τ§λκν»⁺⁺⁺σ§λ⁰τβ»⁺αη

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

কোডটির ভার্বোজ সংস্করণে লিঙ্ক।


0

পাওয়ারশেল , 512 বাইট

[IO.StreamReader]::new(([IO.Compression.GZipStream]::new([IO.MemoryStream]::new(([Convert]::FromBase64String('H4sIAAAAAAAEAOVQQWoDMQy8L+wfdMsl5B3tLdBAz8pKsd26VrAdzP4+cm2SbNlDT6WlN6EZzYzmYDkyFEyAAcQTeKQZihVIBb2XwgQIJz/vxuEZSMImw3uQopQZkuUHWraYK3M7DnuOFs+pEjbeAznW83E4fMssnR1x3Fa6CpbojPEVCAQP41ufXUhKB1VWi5cvgbiLQRaYME/2c9cy/tA3RxdJNZ7UBI/pEqlm6YQOrwavwDL2rZdf+KXaVrMPNC5wU128qfjql1Mj3lP3uv56HyRGJV6rGoIVs2xD0dU2qBHvmVut/6c2KzFxj6aXBHKCSS663F0B')),0,249),[IO.Compression.CompressionMode]::Decompress))).ReadToEnd()

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

তাদের পোস্টের জন্য @ চিরিশমানকে ক্রেডিট করুন ।


0

স্ট্যাক্স , 195 বাইট

ó┤♣≤jß¡εD<Çjò≡²£c¼ìv┴Åô║,·~┼¢╝EΦ5xZ&√σ"ømÿ≡ZπvÅ╦♣1♦>▄\¬◘¡jS¢í╞╟╚);4j↕i¢s♦éÇöy‼ac┴àÇ╩»-ó»ónú¢│g5εÿ╔µ┬bîæ¢k‼f╓fJ○▐═╜<^Γ▀o▀Δnq░╩αÄ&│♣ⁿâmû╣Ç≡*@☺pG_ⁿö┤mσ/V\└?iq┌îB½Ä¿L╙N┐£Ç≥δ2 0δrµLä⌡(⌡▀╬àΦ⌠tƒìg" ⌠ZHó

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

আনপ্যাকড, নিরবচ্ছিন্ন এবং মন্তব্য করা হয়েছে, এটি দেখতে এটির মতো দেখাচ্ছে।

`]q~*}8x9uA3_P0O`jX         push ["fly", "spider", "bird", "cat", "dog"] and store in X register
{                           start iteration over animal list
  `p{+P91{m@Lwe\Jk?!#8`Yp   Store "There was an old lady who swallowed a " in Y register and print it
  .,.i!@+                   Concatenate "." on the first iteration and "," thereafter to the animal
  P                         Print
  i{                        On all iterations after the first, execute this block
    `r4uB2O'O(4XghNqE PhaMg^-riMgR{N>A8LfCNqh@Rn$=aHX|93@_5d?d7qp2-`
                        Push "That wriggled and iggled and jiggled inside her. How absurd, bird. Imagine that, cat. What a hog, dog. She died of course"
    ',`?~nA${F"`R       Replace "," with " to swallow a"
    .. /                Split on string ". "
    iv@                 Get the (i-1)th element where i is the iteration index
    '.+P                Concatenate "." and print
  }M                    End of conditional block
  x2B                   Get adjacent pairs from x (list of animals)
  i(                    Keep first i pairs where i is the iteration index
  r{                    Iterate over reversed list of pairs
    `_,m+"S3&#`p        Print "She swallowed the "
    Ep                  Print the second animal from the pair
    `p<qr?t`p           Print " to catch the "
    ',+P                Concatenate "," to the first animal from the pair and print
  F                     End iterating block
  `;p(9Cv,77BzpP'kB|"`P Print "I don't know why she swallowed that fly,"
  `%?/3.=iHiS6y!`P      Print "Perhaps she'll die."
  zP                    Print a newline
F                       End outer animal iteration.
yp                      Print y register. ("There was an old lady who swallowed a ")
`zvVH`P                 Print "horse,"
                        Print "She died of course." with an unterminated literal
`AJt6Q.3+$!

এটি চালান


-1

পাওয়ারশেল , 349 বাইট = স্ক্রিপ্ট: 9 + সংরক্ষণাগার: 340

tar xOf t

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

সংরক্ষণাগারটি তৈরি করার জন্য পাওয়ারশেল স্ক্রিপ্ট t(টিআইও দেখুন):

(
@'
There was an old lady who swallowed a fly.
I don't know why she swallowed that fly,
Perhaps she'll die.
......
There was an old lady who swallowed a horse,
She died of course.
'@
) | Set-Content f -Force
tar zcfo t f
Get-ChildItem f,t # output info about archive size
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.