আইনি, মেনি, মিনি, মো


11

ভূমিকা

শৈশব গানের আইন, মেনি, মিনি, ময়ে প্রায়শই ট্যাগ বাজানোর সময় "এটি" কে নির্বাচন করতে ব্যবহৃত হত। প্রত্যেকে চেনাশোনাতে দাঁড়াত এবং এলোমেলোভাবে নির্বাচিত এক ব্যক্তির দিকে ইশারা করত। তারা গান করত:

আইনি, মেনি, মিনি, মো,
পায়ের আঙুল দিয়ে একটি বাঘ ধরুন।
যদি সে হোলার করে তবে তাকে যেতে দাও,
এনি, মেনি, মিনি, মো।

যখন তারা প্রতিটি শব্দ গাইল, তারা বৃত্তের পরবর্তী ব্যক্তির দিকে ইঙ্গিত করলেন। চূড়ান্ত "মো" কখন গাওয়া হয়েছিল সেই ব্যক্তির দিকে ইশারা করা হবে "এটি"। বাচ্চারা তত্ক্ষণাত উঠে দাঁড়াল।

লক্ষ্য

সংক্ষিপ্ততম প্রোগ্রামটি বাইটে প্রয়োগ করুন যা একটি ইনপুট নেয়, বাচ্চার সংখ্যা নিয়ে যায় এবং যখন তাদের দিকে ইঙ্গিত করা হত তখন যে শব্দগুলি গাওয়া হয়েছিল তা তালিকাভুক্ত করে।

বিজয়ী এক সপ্তাহের মধ্যে নির্বাচন করা হবে।

ইনপুট

STDIN থেকে, একক, ধনাত্মক পূর্ণসংখ্যার, বাচ্চাদের সংখ্যা। এটি গানের শব্দের সংখ্যার চেয়ে বেশি হতে পারে।

আউটপুট

প্রতিটি লাইনে একটি শিশুকে উপস্থাপন করে এবং গাওয়া শব্দটি রয়েছে যেখানে তারা নির্দেশ করা হচ্ছে এমন একটি তালিকা আটকাতে লিখেছেন। যদি খুব বেশি শিশু থাকে তবে খালি লাইনগুলি বাদ দেওয়া যেতে পারে।

আবশ্যকতা

  • সর্বদা প্রথম সন্তানের সাথে শুরু করুন।
  • যতিচিহ্ন ছাড়াই শব্দগুলি প্রদর্শন করুন।
  • চূড়ান্ত "মো" কে "এমওই!" হিসাবে জোর দেওয়া উচিত বিরামচিহ্ন সহ।

উদাহরণ

ইনপুট

3

আউটপুট

Eeny moe tiger toe hollers go miny
meeny Catch by If let Eeny MOE!
miny a the he him meeny

ইনপুট

7

আউটপুট

Eeny by him
meeny the go
miny toe Eeny
moe If meeny
Catch he miny
a hollers MOE!
tiger let

ইনপুট

1

আউটপুট

Eeny meeny miny moe Catch a tiger by the toe If he hollers let him go Eeny meeny miny MOE!

ইনপুট

21

আউটপুট

Eeny
meeny
miny
moe
Catch
a
tiger
by
the
toe
If
he
hollers
let
him
go
Eeny
meeny
miny
MOE!

1
ইনপুট কি উপস্থিত শব্দের সংখ্যার চেয়ে বেশি হবে?
Doorknob

7
"একটি" এবং "যদি সে" এবং "তার" / "দ্বারা" দ্বারা "দুটি শব্দ বা একটি হিসাবে বিবেচিত হবে? গানে, তারা কেবল একটি "পয়েন্ট" হিসাবে গণনা করুন
OldBunny2800

4
আমরা সর্বদা "আমার ... মা ... বলে ... থেকে ... বেছে ... খুব ... সেরা ... এক ... এবং ... আপনি ... দিয়ে শেষ করেছি ... এটা! " এটি একটি দুর্দান্ত বোনাস হবে। অবশ্যই, প্রতারণাকারীরা সর্বদা বেশ কয়েকটি ব্যক্তির উপরে "আপনি" এবং "আপনি" টেনে
আনে

1
@ থিসসুটআইস ব্ল্যাকনোট নুওও (দারথ ভাদার ভয়েস)! আপনি আমার লাইন চুরি করেছেন। আমি আক্ষরিকভাবে কেবল লিখতে পিপিসি-তে লগ ইন করেছি যেহেতু আমি এটি দেখেছি গত দুদিন ধরে এটি নিয়ে ভাবছিলাম।
আশ্বিন গুপ্ত

1
এত মজাদার ঘটনা নয়: বাঘ এন শব্দ হিসাবে ব্যবহৃত হত।
ড্যানইম্যান

উত্তর:


5

টিস্ক্রিপ্ট , 82 বাইট

D`${a="Ey Ú9y ·ny "}¶e C® a g by e e If  Ò@s ¤t m go ${a}MOE!`q.KαtΣj═)j╝

সঙ্কুচিত, খণ্ড, স্থানান্তর, যোগদান, আউটপুট।

ব্যাখ্যা

              // Implicit: x = input
D`...blah...` // Decompress "Eeny miny moe..."
q             // Split
Kα            // chunk into x-size blocks (α == x)
t             // Transpose
Σ             // Loop through lines
j═)             // Join with spaces
j╝            // Join with newline

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


অ-প্রতিযোগীতা 81 বাইট

αশৃঙ্খলিত না পেয়ে ছিল .তাই আমি বাগ ফিক্স এই ছিল

D`${a="Ey Ú9y ·ny "}¶e C® a g by e e If  Ò@s ¤t m go ${a}MOE!`qKαtΣj═)j╝

6

পাইথ, 103 89 84 অক্ষর

স্ট্রিং কম্প্রেশন সহ 18 বাইট সংরক্ষণ করা হয়েছে, @ ডেনিস এবং @
ফ্রাইআমএইজিগম্যানকে ধন্যবাদ

সতর্কতা: কোডে অনেকগুলি অপ্রিন্টেবল রয়েছে; এটি চেষ্টা করতে নীচের লিঙ্কগুলি ব্যবহার করুন।

VQjd%Q>cs[J."@y)òÎ5O¹c×Ú"."@yæ\J}ÇZH66¥ÓÀD¸¶=ðÉ §J%ÔþÖúÅ="J"MOE!")\@N

অনলাইনে চেষ্টা করে দেখুন | পরীক্ষা স্যুট

সম্ভবত গল্ফ করা যেতে পারে। পরামর্শ স্বাগত!

কিভাবে এটা কাজ করে

VQjd%Q>cs[J."..."."..."J"MOE!")\@N    Implicit: Q = eval(input)
VQ                                    For each item N in range 0...int(Q):
         [                    )        Create an array out of the following:
          J."..."                       Set J to this string, decompressed. ("Eeny@meeny@miny@")
                 ."..."                 This string, decompressed. ("moe@Catch@...let@him@go@")
                       J                J.
                        "MOE!"          "MOE!".
        s                              Join the array with the empty string.
       c                       \@      Split the result on "@".
      >                          N     Cut off the first N items.
    %Q                                 Take every Qth item.
  jd                                   Join with spaces.

পুনঃব্যবহার Eeny meeny minyএকরকম কয়েক বাইট সংরক্ষণ করা উচিত। এছাড়াও, পাইথের (ডি) সংক্ষেপণের জন্য দুটি বিল্ট-ইন রয়েছে ( .Zএবং .")।
ডেনিস

@ ডেনিস ধন্যবাদ, ."14 বাইট সাশ্রয়!
ইটিএইচ প্রডাকশনগুলি

পাইথ ইউটিএফ -8 বা অন্য কিছু ব্যবহার করে? এটি 89 টি চর তবে 123 বাইট
ডাউনগোট

@ দো পাইথ ডিফল্টরূপে আইএসও 8859-1 ব্যবহার করে, তাই প্রতিটি অক্ষর হ'ল এক বাইট।
ডেনিস

FNQ== VQ, যাইহোক ।
isaacg

5

জেলি, 84 বাইট

“£Dṡ“Ṙ©“Ė“¡Ḳ⁵“=U“¡Ẹ⁵“¡Ṇm“ȯf“ŀQ“ÞṖċ¥“ṅ_“Ẉ1“¡æḷ“¡ƒmxĠ“¡ṇƭEỤr“¡Þ¦»ṫ-2;;“MOE!”W¤sƓZj€⁶j⁷

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


4
হাত দিয়ে স্ট্রিংকে সংকুচিত করা ছিল ... বিনোদনমূলক। স্কোর অনেক ভাল হবে যদি জেলি ইভেন্টগুলির ফাংশনে বিভক্ত হয়
ডেনিস

5

জাভাস্ক্রিপ্ট (ES6), 167 বাইট

l=Array(n=+prompt()).fill``;`${s=`Eeny meeny miny `}moe Catch a tiger by the toe If he hollers let him go ${s}MOE!`.split` `.map((w,i)=>l[i%n]+=w+` `);alert(l.join`
`)

ব্যাখ্যা

l=Array(              // l = array of lines
  n=+prompt()         // n = input number
).fill``;             // initialise l as empty strings

`${s=`Eeny meeny miny `}moe Catch a tiger by the toe If he hollers let him go ${s}MOE!`

.split` `.map((w,i)=> // for each word w
  l[i%n]+=w+` `       // add it to the lines
);
alert(l.join`
`)                    // output the lines

না l=Array(n).fill`` কোনো কারণে কাজ না?
ETH প্রোডাকশনগুলি

@Etproductions এটি কাজ করে। আমি এটাকে কিছুটা ছোট করতে ভুলে গেছি! ধন্যবাদ।
ব্যবহারকারী81655

@ ব্যবহারকারী81655 আমি জেএস প্রম্পট () উইন্ডোজ পছন্দ করি। তারা ঠিক তাই মজা। (আমি জানি এটি পাগল শোনায় তবে আমি অন্য প্রতিটি ভাষার কনসোল.আউট বা সমমানের মুদ্রণের ধরণের অভিব্যক্তির তুলনায়)
আশ্বিন গুপ্ত

4

হাস্কেল, 160 157 বাইট

import Data.Lists
unlines.map unwords.transpose.(`chunksOf`(["moe Catch a tiger by the toe If he hollers let him go","MOE!"]>>=words.("Eeny meeny miny "++)))

শুরুতে যোগ "Eeny meeny miny "অন্যান্য অংশে ( "moe Catch ..."এবং "MOE!"), শব্দ মধ্যে উভয় স্ট্রিং, বিভক্ত কনক্যাটেনেট প্রয়োজনীয় মাপ, TRANSPOSE এবং CONCATENATE অংশ একটি একক স্ট্রিং মধ্যে আবার নিতে।

@ মরিস "আয়নি মেনি মিনি" এর সাধারণ সাবস্ট্রিং বের করে এবং fপয়েন্টফ্রি তৈরি করে 3 বাইট খুঁজে পেয়েছিল।


হয়তো s="Eeny meeny miny "কিছু বাইট সাশ্রয় করে।
লিন

@ মরিস: আমি চেষ্টা করেছিলাম, তবে এটি দীর্ঘ ছিল।
নিমি

@ মরিস: ... ওহ না, এর দৈর্ঘ্যও একই।
নিমি

কেমন হবেf=unlines.map unwords.transpose.(`chunksOf`(["moe Catch a tiger by the toe If he hollers let him go","MOE!"]>>=words.("Eeny meeny miny "++)))
লিন

@ মরিস: ভালো লাগছে। একবার fসম্পূর্ণ পয়েন্টফ্রি হয় আমরা এমনকি নাম বাদ দিতে পারেন।
নিমি

4

পাইথন 2, 154 147 বাইট

সম্পাদনা: ধন্যবাদ জো উইলিস!

i=input()
s='Eeny meeny miny '
for j in range(i):print' '.join((s+'moe Catch a tiger by the toe If he hollers let him go '+s+'MOE!').split()[j::i]) 

এটি [0 :: n] তালিকার নবম উপাদানটি মুদ্রণ করে এমন কৌশলটি ব্যবহার করে।

এখানে চেষ্টা করুন


সেকি। আচ্ছা আপনি আমার উত্তর পুরোপুরি ধ্বংস করে দিয়েছেন। হাঃ হাঃ হাঃ. মুদ্রণ ("\ n") সম্পর্কে আমি পরে আপনার টিপটি চেষ্টা করতে যাচ্ছি। ::অপারেটর ঠিক কী করে ? এটি কি লুপের মতো?
আশ্বিন গুপ্ত

3

রুবি, 160 বাইট

puts (a=[*%w[Eeny meeny miny moe Catch a tiger by the toe If he hollers let him go Eeny meeny miny MOE!].each_slice(gets.to_i)])[0].zip(*a[1..-1]).map{|x|x*' '}

স্ট্রিং "সংকুচিত" করার আমার সমস্ত প্রচেষ্টা সবেমাত্র এটি দীর্ঘ করেছে। চেষ্টা করছি...

puts                      # output to STDOUT...
(a=                       # assign this stuff to the variable a
 [*                       # convert to array...
  %w[blah blah]           # %w splits on spaces
  .each_slice(gets.to_i)  # split into slices of input number
 ]
)[0]                      # take the first element of a
.zip(*a[1..-1])           # zip it with the remaining elements
                          #   because transpose complains about ragged 2D arrays
.map{|x|x*' '}            # join all sub-arrays on space
                          #   puts automatically inserts newlines for us

3

জাভাস্ক্রিপ্ট (ES6), 189 বাইট:

a=prompt(),b=Array(a--).fill``,c=0;"Eeny meeny miny moe Catch a tiger by the toe If he hollers let him go Eeny meeny miny MOE!".split` `.map(v=>(b[c]+=v+' ',c+=c>a-1?-c:1));alert(b.join`\n`)

ব্যাখ্যা:

a=prompt(), //Get the STDIN
b=Array(a--).fill``, //Make an array based on how many kids there are
c=0; //Start the iteration variable
"Eeny meeny miny moe Catch a tiger by the toe If he hollers let him go Eeny meeny miny MOE!"
.split` `.map(
    v=>(
        b[c] += v + ' ',
        c += c > a - 1 ? -c : 1
    )
);alert(b.join`\n`)

আপনার ইনপুট পদ্ধতিটি সঠিক, তবে আউটপুট পদ্ধতিটি গৃহীত হয়নি। আপনি যাইহোক, একটি ফাংশন এ সবকিছু মোড়ানো করতে পারেন, একটি আর্গুমেন্ট হিসাবে ইনপুট গ্রহণ। আপনি নিম্নলিখিতগুলি চেষ্টা করতে পারেন: I=>(b=Array(I--).fill``,c=0,"Eeny meeny miny moe Catch a tiger by the toe If he hollers let him go Eeny meeny miny MOE!".split` `.forEach(v=>(b[c]+=v+' ',c+=c>I-1?-c:1)),b)যা 172 বাইট দীর্ঘ। এটি অ্যারের উপাদান হিসাবে প্রতিটি লাইন প্রদান করে। আমি মনে করি এটি গ্রহণযোগ্য।
ইসমাইল মিগুয়েল

যাইহোক, আপনি যদি এর .map()পরিবর্তে ব্যবহার করেন তবে আপনি .forEach()3 বাইট সংরক্ষণ করতে পারবেন, 169 বাইট হ্রাস করে। কিছুটা বেশি বিড়বিড় করে, এটি সম্ভবত টুইটযোগ্য হতে পারে!
ইসমাইল মিগুয়েল

@ ইসমাইলমিগুয়েল প্রশ্নটি ইনপুট এবং আউটপুটটি বিশেষভাবে মাধ্যমে আসতে বলেছে STDINএবং STDOUTতাই আমি মনে করি এটি জাভাস্ক্রিপ্টের উত্তরগুলিকে সীমাবদ্ধ করে promptএবং alertদুর্ভাগ্যক্রমে।
ব্যবহারকারী81655

আচ্ছা বুঝলাম. আমি সুযোগ পেলে কোডটি আপডেট করব। আমাকে জানানোর জন্য ধন্যবাদ :-)
কুইল

@ user81655 আপনি সঠিক আছেন। এটি একটি alert(b.join`<newline>`)শেষে থাকা উচিত । তবে .map()ক্ষতিটি এর পরিবর্তে কমিয়ে আনা যেতে পারে .forEach()
ইসমাইল মিগুয়েল

3

পাইথন 3, 279 278 272 173 বাইট

(ম্যাথিয়াস এটিংগারকে ধন্যবাদ যিনি আমাকে আক্ষরিক অর্থে 100+ বাইটস সংরক্ষণ করেছিলেন ! )

s=" Eeny meeny miny moe Catch a tiger by the toe If he hollers let him go Eeny meeny miny moe!";w=s.split();i=input();i=int(i)
for z in range(i):W=w[z::i];print(" ".join(W))  

কারও কাছে যদি টিপস বা অ্যাসেজেশন থাকে তবে আমি তাদের সত্যিই প্রশংসা করব। ধন্যবাদ!


আমি মনে করি আপনি ইনপুটটি কী প্রতিনিধিত্ব করে তা ভুল বুঝেছেন। এটি দেখানোর জন্য লাইন নম্বর নয়, এটি এমন বাচ্চাদের সংখ্যা যার মধ্যে শব্দগুলি ভাগ করা উচিত। প্রতিটি লাইন প্রদর্শিত হবে। আপনার কোডে, int(i)এর জায়গাটি নেওয়া উচিত 3, তবে এর পরে ঠিক করার জন্য অন্যান্য ত্রুটি রয়েছে।
হ্যান্ড-ই-ফুড

@ হ্যান্ড-ই-ফুড ঠিক আছে আমি বিশ্বাস করি এটি আপনি এখন যেমন নির্দিষ্ট করেছেন তেমন কার্যকর হয়!
আশ্বিন গুপ্ত

আরও ভাল দেখাচ্ছে! :-) এবং আপনি যদি কিছু গল্ফিং সহায়তা চান তবে মোডোলো অপারেটরটি তদন্ত করুন, সাধারণত হিসাবে লেখা আছে %। এটি চক্রাকার কাউন্টারগুলির জন্য আদর্শ।
হ্যান্ড-ই-ফুড

@ হ্যান্ড-ই-ফুড ঠিক আছে ধন্যবাদ! আমি মনে করি আপনি জানেন কি আমি জানি। আমি আগামীকাল এটি ঠিক করতে যাচ্ছি। আমি মনে করি আমি কমপক্ষে একটি দম্পতি বাইট বন্ধ করে দিতে পারি।
আশ্বিন গুপ্ত

কয়েকটি পয়েন্ট যা সর্বোত্তম অনুশীলনে এবং কোডটি সংক্ষিপ্ত করতে উভয়কেই সহায়তা করে: 1) .split()ফাঁকাগুলিতে বিভক্ত হবে (স্পেস, নিউলাইনস, ট্যাবগুলি ২) range(0, x)সর্বোত্তমভাবে range(x)3 হিসাবে লিখিত হয়েছে ) স্লাইস নোটেশনটি একবার দেখুন: w[0::3]প্রতি তিনটির একটি তালিকা ফিরে আসবে শব্দ ভিতরে w
301_ মোভেড_ স্থায়ীভাবে

2

গণিত, 154 বাইট by

StringRiffle[Thread@Partition[StringSplit@"Eeny meeny miny moe Catch a tiger by the toe If he hollers let him go Eeny meeny miny MOE!",#,#,1,""],"
"," "]&

অন্যান্য উত্তরগুলির বেশিরভাগ স্প্লিট-শঙ্ক-ট্রান্সপোজ-জয়েন-আউটপুট পদ্ধতি ব্যবহার করে।


2

ম্যাটল্যাব, 167 বাইট / অক্ষর:

n=input('');s='Eeny meeny miny ';s=strsplit([s 'moe Catch a tiger by the toe If he hollers let him go ' s 'MOE!']);f=@fprintf;for i=1:n f('%s ',s{i:n:end});f('\n');end

ব্যাখ্যা:

n=input('');             % Grab the input (number of children)
s='Eeny meeny miny ';    % Common string portion
% Build the full string and split into cell array at spaces
s=strsplit([s 'moe Catch a tiger by the toe If he hollers let him go ' s 'MOE!']);
f=@fprintf;              % Just a shorthand for later (only saves 1 char here)
for i=1:n                % Loop to the number of children
    f('%s ',s{i:n:end}); % Print each nth word, shifted by child
    f('\n');             % Start each child's words on a new line
end

এটির দৈর্ঘ্যের জন্য কোনও পুরষ্কার জিততে পারবেন না, তবে এটি মজাদার। :-)


2

জাপট, 90 87 86 বাইট

Uo mW{V=`EydÚ9yd·nyd` +`¶C®»dgdbydÈIfddÒ@sd¤tdmdgod{V}MOE!` qd f@Y%U¥W} m¸·

প্রচুর মুদ্রণযোগ্য এটি অনলাইন চেষ্টা করুন!

কিভাবে এটা কাজ করে

              // Implicit: U = input
Uo mW{     }  // Create the range 0...U and map each item W to:
V=`...`       //  Set V to this string, decompressed. "Eenydmeenydmined"
+`...{V}MOE!` //  Concatenate it with this string, decompressed, with V inserted.
qd            //  Split at "d"s.
f@Y%U¥W       //  Filter to only the items where (index % U == W).
m¸            // Map each item by joining with spaces.
·             // Join the result with newlines.

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

space -> 69 bytes
c -> 66 (including a null byte)
d -> 65
j -> 69
k -> 69
p -> 68
q -> 69
s -> 61 (but there's an s in "hollers")
u -> 65
w -> 67
x -> 69
y -> 69

বর্তমানে আমি ব্যবহার করছি d। এর সাথে আরও sকিছু অক্ষর প্রতিস্থাপন করে একটি বাইট সংরক্ষণ করা সম্ভব hollers

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