আপনার বাদামের কোডটিতে লাইনটি দিন এবং এটি সমস্ত ঝাঁকুনি দিন


10

একটি প্রোগ্রামিং ল্যাঙ্গুয়েজ ব্যবহার করে ৫ টি সিঙ্গেল-লাইনের প্রোগ্রাম লিখুন, যার প্রত্যেকটি পৃথকভাবে চালিত হওয়ার সময় হ্যারি নিলসনের ১৯2২-এর গান " নারকেল " -তে প্রথম শ্লোকটির আলাদা লাইন দেয় :

ভাই একটি নারকেল কিনেছিলেন, তিনি তা একটি ডাইমের জন্য কিনেছিলেন,
তার বোনকে আরও একটি ছিল, তিনি চুনের জন্য
দিয়েছিলেন
তিনি নারকেলের মধ্যে চুন লাগিয়েছিলেন, তিনি উভয়কেই পান করেছিলেন তিনি নারকেলের মধ্যে চুন রেখেছিলেন, তিনি উভয়কেই পান করেছিলেন
তিনি She নারকেলের মধ্যে চুন লাগিয়ে সে দু'জনেই খেয়ে ফেলল

( পুরো গানের কথা )

সর্বশেষ 3 লাইনে একই লিরিক্স রয়েছে তাই আপনার শেষ 3 টি প্রোগ্রামও হতে পারে।

5 টি ফ্যাকটোরিয়াল বা 120 টি উপায় রয়েছে এই 5 টি একক-লাইন প্রোগ্রাম একক 5-লাইন প্রোগ্রামে প্রতি লাইনে একটি করে সাজানো যায়। আপনাকে অবশ্যই আপনার একক-লাইন প্রোগ্রামগুলি অনুকূল করতে হবে যে যতগুলি সম্ভব এই 120 টি সংমিশ্রণের জন্য 5-লাইন প্রোগ্রাম পুরো আয়াতটিকে তার যথাযথ ক্রমে আউটপুট করে দেবে , যেমনটি উপরে প্রদর্শিত হবে।

উদাহরণ

সহজ উত্তরটিতে 5 টি একক লাইন প্রিন্ট বিবৃতি থাকবে, শেষ 3 টির মতো:

print('Brother bought a coconut, he bought it for a dime')
print('His sister had another one, she paid it for a lime')
print('She put the lime in the coconut, she drank them both up')
print('She put the lime in the coconut, she drank them both up')
print('She put the lime in the coconut, she drank them both up')

5 লাইন প্রোগ্রামগুলির আউটপুট যতক্ষণ না প্রথম দুটি সিঙ্গল-লাইনার সঠিক জায়গায় থাকে ততক্ষণ তার যথাযথ ক্রমে শ্লোকে থাকবে। সম্ভাব্য 120 টির মধ্যে 6 টিই এটি সম্পন্ন করে।

স্কোরিং

সমস্ত 120 জয়ের মধ্যে সর্বাধিক কার্যকারী মামলাগুলির সাথে জমা দেওয়া। টাই ব্রেকার সর্বনিম্ন संचयी বাইট গণনা (নিউলাইন গণনা করা হয়নি) সহ প্রোগ্রামের সেটে যায় । উদাহরণটিতে 309 বাইট রয়েছে।

বিস্তারিত

  • আপনার প্রোগ্রামগুলি তাদের নিজস্ব উত্স কোডটি না পড়তে পারে। বা তাদের অন্যান্য বাহ্যিক ফাইলগুলি পড়া বা কোনও নেটওয়ার্ক সংযোগের প্রয়োজন হবে না।

  • স্টডআউট বা নিকটতম বিকল্পে আউটপুট। আপনি নিজের পছন্দের নাম সহ কোনও ফাইলে আউটপুটও করতে পারেন।

  • "সিঙ্গল-লাইনের প্রোগ্রামগুলি" এমন একটি স্ট্রিং যা লাইন টার্মিনেটর ব্যতীত অন্য কোনও অক্ষর ধারণ করে (আপনাকে সম্ভবত নতুন লাইনের বিষয়ে চিন্তা করতে হবে)।

  • 5-লাইনারগুলিতে সিঙ্গল-লাইনারগুলি রচনা করার সময় আপনাকে অবশ্যই 4 টি নতুন লাইন যুক্ত করা উচিত, প্রতিটি সংলগ্ন জোড় সিঙ্গল-লাইনারের মধ্যে একটি। আপনি allyচ্ছিকভাবে একটি ট্রেলিং নিউলাইন যোগ করতে পারেন।


"5 টি প্রোগ্রাম লিখুন যা প্রতিটি আউটপুটকে আলাদা লাইন দেয় ..." এটি কি অসম্ভব?
শুক্রবার

@ ফেয়ারসাম লাইনগুলি আলাদা। তাদের মধ্যে তিনটি একই টেক্সট আছে।
ক্যালভিনের

আমার কাছে যদি একটি জাভা ফাইল থাকে যেখানে 5 টি ক্লাস থাকে, যার সাথে একটি mainপদ্ধতি রয়েছে? তাহলে কোনটি চালানো উচিত, যখন প্রোগ্রামটি চালাবেন?
শুক্রবার 24'15

@ ফেয়ারসাম আচ্ছা আপনার সংকলক কী করে? একই ফাইলের একাধিক ক্লাস উভয় হলে জাভা কী করবে তা আমি নিশ্চিত নই main
ক্যালভিনের

2
যেভাবে আমি এইটি মনে করি তা হ'ল এটি একটি কোকাকোলা বিজ্ঞাপন যেখানে তারা "কোকে চুন লাগিয়েছিল" ...
জো জে।

উত্তর:


9

সিজেএম, 120 বৈধ অনুমতি, 334 299 290 বাইট

"She put the lime in the coconut, she drank them both up"N+
"Brother bought a coconut, he bought it for a dime"N+]$~
"She put the lime in the coconut, she drank them both up"N+
"His sister had another one, she paid it for a lime"N+]$~
"She put the lime in the coconut, she drank them both up"N+

খুব সহজ যুক্তি:

  • 5 টি প্রোগ্রামের প্রতিটি গানের প্রতিটি লাইন রাখুন
  • অ্যারেতে স্ট্যাকের সবকিছু মুড়ে দিন
  • অ্যারে বাছাই করুন
  • অ্যারেরটি মোড়ক করুন যাতে পরবর্তী প্রোগ্রামটি একই যুক্তি ব্যবহার করতে পারে
  • প্রতিটি পদক্ষেপে, আমাদের একটি অ্যারেতে আংশিক গানের কথা রয়েছে। ভাগ্যক্রমে, অ্যারে বাছাই করা গানের সঠিক ক্রম দেয়।

আপডেট : দেখা যাচ্ছে যে 3 টি অনুরূপ এবং গানের শেষ লাইনে উপস্থিত হওয়ার পরে আপনার মোড়ক-বাছাই-মোড়ানো চক্রের দরকার নেই। আমি যদি ব্যাখ্যা করতে পারি তবে তা কেন তা প্রকট নয় :)


8

প্রিলিওড , 120 ক্রিয়েটেশন, 2045 2035 বাইট

9-9-9-9-9-9-9-9-9-5-97+993++09-9-9-9-9-9-9-1-8992++96+209-9-9-9-9-9-9-1-94+58992++09-9-9-9-9-9-9-1-92+95+199+409-9-9-9-9-9-9-1-58991++09-9-9-9-9-9-9-1-09-9-9-9-9-7-992++993++95+96+396+309-9-9-9-9-9-9-1-58992++09-9-9-9-9-9-9-1-95+909-9-9-9-9-9-9-1-594+993+09-9-9-9-9-9-9-1-58992++09-9-9-9-9-9-9-1-992++993++97+09-9-9-9-9-9-9-1-5809-4-                                                                          (9+9+9+9+9+9+9+9+9+9+6+!)
9-9-9-9-9-9-9-9-9-5-594+9409-9-9-9-9-9-9-1-109-9-9-9-9-9-9-1-99+96+609-9-9-9-9-9-9-1-992++909-9-9-9-9-9-9-1-992++87993++96+209-9-9-9-9-9-9-1-5809-9-9-9-9-9-9-1-09-9-9-9-9-7-992++993++95+96+396+309-9-9-9-9-9-9-1-109-9-9-9-9-9-9-1-992++87993++96+209-9-9-9-9-9-9-1-99+58992++96+99+09-9-9-3-                                             (9+9+9+9+9+9+9+9+9+9+6+!)
9-9-9-9-9-9-9-9-9-5-97+993++09-9-9-9-9-9-9-1-8992++96+209-9-9-9-9-9-9-1-94+58992++09-9-9-9-9-9-9-1-92+95+199+409-9-9-9-9-9-9-1-58991++09-9-9-9-9-9-9-1-09-9-9-9-9-7-992++993++95+96+396+309-9-9-9-9-9-9-1-58992++09-9-9-9-9-9-9-1-95+909-9-9-9-9-9-9-1-594+993+09-9-9-9-9-9-9-1-58992++09-9-9-9-9-9-9-1-992++993++97+09-9-9-9-9-9-9-1-5809-4-                                                 (9+9+9+9+9+9+9+9+9+9+6+!)
9-9-9-9-9-9-9-9-9-5-594+993+09-9-9-9-9-9-9-1-109-9-9-9-9-9-9-1-99+96+609-9-9-9-9-9-9-1-992++909-9-9-9-9-9-9-1-49197+09-9-9-9-9-9-9-1-58991++09-9-9-9-9-9-9-1-09-9-9-9-9-7-595+96+09-9-9-9-9-9-9-1-99+58992++96+95+109-9-9-9-9-9-9-1-41809-9-9-9-9-9-9-1-99+5992++991++9991++09-9-9-9-9-9-9-1-991++909-9-6-                                                           (9+9+9+9+9+9+9+9+9+9+6+!)
9-9-9-9-9-9-9-9-9-5-97+993++09-9-9-9-9-9-9-1-8992++96+209-9-9-9-9-9-9-1-94+58992++09-9-9-9-9-9-9-1-92+95+199+409-9-9-9-9-9-9-1-58991++09-9-9-9-9-9-9-1-09-9-9-9-9-7-992++993++95+96+396+309-9-9-9-9-9-9-1-58992++09-9-9-9-9-9-9-1-95+909-9-9-9-9-9-9-1-594+993+09-9-9-9-9-9-9-1-58992++09-9-9-9-9-9-9-1-992++993++97+09-9-9-9-9-9-9-1-5809-4-                                                                                                   (9+9+9+9+9+9+9+9+9+9+6+!)

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

মৌলিক ধারণা নিম্নোক্ত

"push line 4"               print
"push line 1"print
"push line 3"          print
"push line 2"     print
"push line 5"                    print

প্রিলিডে, প্রতিটি লাইন তার নিজস্ব স্ট্যাকের সাথে তার নিজস্ব "ভয়েস" এবং এই ভয়েসগুলি সমান্তরালে কার্যকর করা হয়। এটি হ'ল, সম্পূর্ণ প্রোগ্রামে প্রতিটি লাইন স্বতন্ত্রভাবে স্ট্রিংটি তৈরি করবে এবং শেষে এটি মুদ্রণ করবে। তবে মুদ্রণ বিবৃতিগুলির অফসেটের কারণে, আউটপুট ক্রমের জন্য লাইনগুলির ক্রম মোটেও কিছু যায় আসে না, যেহেতু মৃত্যুদন্ড কার্যকর করা বাম-থেকে-ডান, উপরের থেকে নীচে না।

এখন, লাইন এত দীর্ঘ কেন? এটির স্ট্যাকের মধ্যে কেবলমাত্র স্টোরের সংখ্যাগুলি অন্তর্ভুক্ত করুন। তদ্ব্যতীত, এটি একবারে কেবলমাত্র একক-অঙ্কের সংখ্যাটিকে ধাক্কা দিতে পারে, সুতরাং সংযোজন এবং বিয়োগফল থেকে বৃহত্তর সংখ্যাগুলি তৈরি করতে হবে (হয় কোনও গুণ বা অন্য পাটিগণিতও নেই)। সুতরাং কোডের বৃহত্তম অংশটি হ'ল ডান অক্ষর কোডগুলি গণনা করা এবং ঠেলাঠেলি করা। এটিকে কিছুটা ছোট করার জন্য, আমি তাদের দ্বারা অফসেট করছি 96। শেষে, মুদ্রণের জন্য, স্ট্যাকটি খালি না হওয়া পর্যন্ত আমি লুপ করব (অর্থাত্ একটি 0মুখোমুখি হয়েছিল), প্রতিটি সংখ্যায় 96 যোগ করুন এবং এটি মুদ্রণ করুন।

নোট করুন যে স্ট্রিংগুলি বিপরীত দিকে ধাক্কা দেওয়া হয়েছে, যেহেতু তারা প্রথম থেকে প্রথম অক্ষরে মুদ্রিত হয়েছে।

এটি পাইথন ইন্টারপ্রেটারকে ধরে নিয়ে যায় NUMERIC_OUTPUT = False(যা স্পেসটি I / O- কে সংজ্ঞায়িত করে)।

আমি স্ট্রিং নির্মাণ তৈরি করতে নিম্নলিখিত সিজে্যাম কোডটি ব্যবহার করেছি:

"Brother bought a coconut, he bought it for a dime
"W%{i96-_0<{zLa*9/:,'-*'-+0\+}{La*9/:,_,'+*W<}?}%

শেষ অবধি, কেবল মজা করার জন্য, আমি মনে করি কেন প্রিলিডে স্ট্রিংয়ের ধারণা থাকলে এটি খুব সংক্ষিপ্ত হবে:

"pu htob meht knard ehs ,tunococ eht ni emil eht tup ehS"N+!
"emid a rof ti thguob eh ,tunococ a thguob rehtorB"N+!
"pu htob meht knard ehs ,tunococ eht ni emil eht tup ehS"N+!
"emil a rof ti diap ehs ,eno rehtona dah retsis siH"N+!
"pu htob meht knard ehs ,tunococ eht ni emil eht tup ehS"N+!

এখন মুদ্রণ বিবৃতিগুলি !ইতিমধ্যে সঠিক ক্রমে রয়েছে, সুতরাং আমার সেগুলি অফসেট করার দরকারও হবে না। আমি মনে করি আমি এটি কিছু সময় বাস্তবায়নে নামব।


7

রুবি, 120 বৈধ অনুমতি, 430 বাইট

$*[1]='His sister had another one, she paid it for a lime';a||=at_exit{puts($*-[p])}
$*[0]='Brother bought a coconut, he bought it for a dime';a||=at_exit{puts($*)}
$*[2]='She put the lime in the coconut, she drank them both up';a||=at_exit{puts($*-[p])}
$*[3]='She put the lime in the coconut, she drank them both up';a||=at_exit{puts($*-[p])}
$*[4]='She put the lime in the coconut, she drank them both up';a||=at_exit{puts($*-[p])}

যে কোনও ক্রমে বা স্বতন্ত্রভাবে কাজ করে। প্রতিটি লাইন গ্লোবাল অবস্থা পরিবর্তন করে, তারপরে হুক ইতিমধ্যে সেট না করা থাকলে প্রোগ্রামের শেষে কার্যকর করা একটি হুক সেট করে।


প্রশ্নটি বলছে "5 একক-লাইন প্রোগ্রাম"। এর অর্থ এই নয় যে প্রতিটি লাইন একটি পৃথক প্রোগ্রামে থাকা উচিত? সব এক না?
বেচুসবেল

1
বিন্যাসকরণের প্রশ্ন মাত্র। প্রতিটি লাইন তার নিজস্ব প্রোগ্রাম হিসাবে কাজ করে।
হিস্টোক্র্যাট

6

> <> , 120 ক্রমশক্তি, 703 বাইট

<    /a"emid a rof ti thguob eh ,tunococ a thguob rehtorB"0a.#.!50padpacpabpaapa9pa8pa7p97p87p77p67p57p95p84p73p62p51"/////\\\\\>l0=?;o"
<   / a"emil a rof ti diap ehs ,eno rehtona dah retsis siH"09.#.!50padpacpabpaapa9pa8pa7p97p87p77p67p57p95p84p73p62p51"/////\\\\\>l0=?;o"
<  /  a"pu htob meht knard ehs ,tunococ eht ni emil eht tup ehS"08.#.!50padpacpabpaapa9pa8pa7p97p87p77p67p57p95p84p73p62p51"/////\\\\\>l0=?;o"
< /   a"pu htob meht knard ehs ,tunococ eht ni emil eht tup ehS"07.#.!50padpacpabpaapa9pa8pa7p97p87p77p67p57p95p84p73p62p51"/////\\\\\>l0=?;o"
</    a"pu htob meht knard ehs ,tunococ eht ni emil eht tup ehS"06.#.!50padpacpabpaapa9pa8pa7p97p87p77p67p57p95p84p73p62p51"/////\\\\\>l0=?;o"

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

প্রাথমিক <প্রোগ্রামটি প্রবাহকে বাম দিকে, চারপাশে মোড়ানো এবং সম্পাদন করে exec

"o;?=0l>\\\\\\/////"15p26p37p48p59p75p76p77p78p79p7ap8ap9apaapbapcapdap

এটি pবোর্ডের মতো না হওয়া পর্যন্ত এইগুলি (পুট) নির্দেশাবলীর একটি ধারা রয়েছে যা চরগুলি রাখে:

<    /<lyrics1>0a.#.!50<blah>
<   / <lyrics2>09.#.!50<blah>
<  /  <lyrics3>08.#.!50<blah>
< /   <lyrics4>07.#.!50<blah>
</    <lyrics5>06.#.!50<blah>
 /     \
  /    \
   /   \
    /  \
     / \
       >l0=?;o

#.!50তারপর দক্ষিণমুখে প্রোগ্রাম প্রবাহ ফিরে ফ্লিপ আবার, লাইন 5. জাম্পিং আগে কি অনুসরণ করে, তা হল:

  • /৫ নং লাইনে আয়না অনুসরণ করার পরে লিরিক্স 5 পাওয়া যায় যা স্ট্যাকের উপরে চাপানো হয়। আমরা তখন লাইন 6 এ টেলিপোর্ট করি
  • /Line লাইনে আয়না অনুসরণ করার পরে গানের কথা 4 পাওয়া যায় যা স্ট্যাকের উপরে চাপানো হয়। আমরা তখন লাইন 7 এ টেলিপোর্ট করি।
  • /Line নং লাইনে আয়না অনুসরণ করে গানের সন্ধান করুন 3 ...

এটি না হওয়া পর্যন্ত ঘটে যায় যতক্ষণ না আমরা গীত 1 টি ধাবিত করি, যার বিন্দুতে আমরা লাইন 10 তে টেলিপোর্ট করি This পুরো স্ট্যাকটি খালি না হওয়া পর্যন্ত মুদ্রণের জন্য এটি একটি লুপ।

যদি প্রোগ্রামটির কেবল একটি লাইন উপস্থিত থাকে, তবে \আয়নাগুলি প্রতিটি লিরিক লাইনে টেলিপোর্টগুলির মতো একই কাজ করে।

প্রোগ্রামটি যদি স্ক্যাম্বলড হয়, তবে উপরের ব্যাখ্যাটি এখনও প্রযোজ্য, সুতরাং প্রোগ্রামটি সমস্ত আদেশের জন্য কাজ করে!

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