একটি স্কোয়ার প্রোগ্রাম লিখুন যা "নিবন্ধনবিহীন" হয়েছে তার বারের চেয়ে বেশি


22

1 টির চেয়ে বেশি কিছু বিজোড় পূর্ণসংখ্যার জন্য পাঠ্যগুলির একটি বর্গক্ষেত্রের ব্লক, এন লম্বা দ্বারা প্রশস্ত এন অক্ষর বিবেচনা করুন।

উদাহরণ হিসাবে এন = 5 এবং পাঠ্যটি হতে দিন:

MLKJI
NWVUH
OXYTG
PQRSF
ABCDE

লক্ষ্য করুন যে এটি বর্ণমালা (জেড ছাড়াও) নীচের বাম দিকের কোণ থেকে ঘড়ির কাঁটার দিকে ঘুরছে। এটি একধরণের রোলড আপ কার্পেটের মতো।

সর্পিল বর্ণমালা

পাঠ্যটিকে এক চতুর্থাংশ ঘড়ির কাঁটার বিপরীতে পরিণত করা "তাই ফলাফলের FGHIমতো একই স্তরে ABCDEরয়েছে:

     PONM
     QXWL
     RYVK
     STUJ
ABCDEFGHI

পাঠ্যটির একক লাইন না হওয়া পর্যন্ত এই অনিবন্ধকরণটি আরও 7 বার করা যেতে পারে:

         SRQP
         TYXO
         UVWN
ABCDEFGHIJKLM

             UTS
             VYR
             WXQ
ABCDEFGHIJKLMNOP

                WVU
                XYT
ABCDEFGHIJKLMNOPQRS

                   XW
                   YV
ABCDEFGHIJKLMNOPQRSTU

                     YX
ABCDEFGHIJKLMNOPQRSTUVW

                       Y
ABCDEFGHIJKLMNOPQRSTUVWX

ABCDEFGHIJKLMNOPQRSTUVWXY

চ্যালেঞ্জ

চ্যালেঞ্জটি হ'ল এমন একটি প্রোগ্রাম লিখুন যা পাঠ্যের একটি এন text এন ব্লক যা অনিয়ন্ত্রিত নিদর্শনগুলিতে পুনরায় সাজানো এবং চালানোর সময় চতুর্থাংশের বারে "আনারোলড" হওয়ার সময়কে ছাড়িয়ে যায়।

এখানে সত্যিই দুটি প্রতিযোগিতা রয়েছে: (আশা করি এটি খুব অগোছালো হবে না)

  1. সবচেয়ে ছোট এন দিয়ে এটি করুন (এন = 3 এর সীমাতে)
  2. বৃহত্তম এন এর সাথে এটি করুন (কোনও সীমা নেই)

কোনও স্বীকৃত উত্তর থাকবে না তবে এই বিভাগগুলির প্রত্যেকটিতে বিজয়ী আমার কাছ থেকে কমপক্ষে 50 টি অনুমানের প্রতিনিধি পাবেন। সম্পর্কের ক্ষেত্রে সবচেয়ে পুরানো উত্তরগুলি জিতে যায়।

উদাহরণ

যদি আপনার কোড ব্লক হয়

MyP
rog
ram

এটি চলমান 0 আউটপুট উচিত।

চলমান

   rM
   oy
ramgP

আউটপুট 1 করা উচিত।

চলমান

     or
ramgPyM

আউটপুট 2 হওয়া উচিত।

চলমান

       o
ramgPyMr

আউটপুট 3 হওয়া উচিত।

অবশেষে, চলমান ramgPyMro4 আউটপুট করা উচিত।

বিস্তারিত

  • আউটপুটটি নিজেই স্টাডাউট (বা নিকটতম বিকল্প) এ মুদ্রিত করা উচিত। কোনও ইনপুট নেই।
  • আপনি কেবল আপনার কোডটিতে প্রিন্টযোগ্য এএসসিআইআই (হেক্স কোড 20 থেকে 7 ই, এতে স্পেস অন্তর্ভুক্ত) ব্যবহার করতে পারেন ।
  • স্থানগুলি আনرولিং বিন্যাসে খালি জায়গা পূরণ করে। (যদি না আপনি বামে তালিকাভুক্ত না হন))
  • সম্পূর্ণ স্কোয়ার থেকে সম্পূর্ণ ফ্ল্যাট পর্যন্ত কেবলমাত্র ব্যবস্থাগুলির বৈধ আউটপুট থাকা দরকার। অন্য কোন ব্যবস্থা চালানো হবে না।
  • আপনি নিজের উত্সটি পড়তে পারেন না।
  • আপনি মন্তব্য ব্যবহার করতে পারেন।
  • এন = 1 বাদ দেওয়া হয়েছে কারণ অনেক ভাষায় প্রোগ্রামটি 0কাজ করবে।
  • ইচ্ছা করলে আপনি ডান পরিবর্তে বামে তালিকাভুক্ত করতে পারেন। সুতরাং যেমন

    MyP
    rog
    ram
    

    হয়ে

    Pg
    yo
    Mrram
    

    ইত্যাদি। এইভাবে ঘূর্ণায়মান করার সময় কোনও অতিরিক্ত স্থান যুক্ত করা হয় না। লাইনগুলি কেবল শেষ হয়

(সম্পর্কিত: একটি আয়তক্ষেত্রাকার প্রোগ্রাম লিখুন যা এটি ঘোরানো টাইমের সংখ্যাকে ছাড়িয়ে যায় )


"চ্যালেঞ্জ" অনুচ্ছেদটি পড়ার আগে আমি এমন একটি প্রোগ্রাম লেখার চ্যালেঞ্জের প্রত্যাশা করছিলাম যা নিজেকে নিবন্ধভুক্ত করে তোলে
জন ডভোরাক

1
এন কেন বিজোড় হতে হবে?
জন ডিভোরাক

1
@ জনডভোরাক আমি মনে করি এন এর পক্ষে বিজোড় হওয়ার দরকার নেই তবে এটি সর্পিলগুলিকে আরও মানিক করে তুলেছে। এটি সেভাবেই রয়েছেন তবে কোনও এন = 2 পোস্ট করুন যদি আপনার কোনও সন্ধান হয় তবে একটি মন্তব্য হিসাবে নির্দ্বিধায় এটি পোস্ট করুন।
ক্যালভিনের

8
কেবলমাত্র একটি ধারণা: "কার্পেট" ডানদিকে নিবন্ধভুক্ত করা পাইথনের মতো ভাষা দূর করে হোয়াইটস্পেস দিয়ে শুরু করে অনেকগুলি লাইন তৈরি করে। আপনি যদি বামে তালিকাভুক্তির অনুমতি দেন তবে অতিরিক্ত শ্বেতক্ষেত্রের প্রয়োজন হবে না এবং পাইথন (তাত্ত্বিকভাবে) সম্ভব।
Falko

5
অসীম দুর্দান্ত চ্যালেঞ্জ আইডিয়া সহ আপনার কি কোনও যাদু বই আছে? কীভাবে আপনি এইরকম আকর্ষণীয় চ্যালেঞ্জ নিয়ে আসছেন?
জাস্টিন

উত্তর:


27

গল্ফস্ক্রিপ্ট, এন <- [5,7 ..]

.   .
 . . 
 ..  
.  .#
],9\-

সম্পূর্ণ নিবন্ধিত:

],9\-#  .   .  .  . . ...

ব্যাখ্যা:

  • . (একাধিক বার) - ইনপুটটি সদৃশ করুন
  • ] - একক অ্যারে মধ্যে স্ট্যাক সংগ্রহ করুন
  • , - এর দৈর্ঘ্য নিন
  • 9\- - এটি 9 থেকে বিয়োগ করুন
  • # - লাইন মন্তব্য

হোয়াইটস্পেস একটি এনওপি, তবে অন্য কোনও এনওপি ঠিক সেভাবে কাজ করবে।

পুরোপুরি ঘূর্ণিত, এটি স্ট্যাক হিসাবে নয়টি অনুলিপি (সামগ্রী উপেক্ষা করা) ব্যবহার করে; 9 - 9 = 0; এটি অনিয়ন্ত্রিত হয়নি।

প্রতিটি আনারোল মন্তব্যটির পিছনে আরও একটি বিন্দু (নকল) লুকিয়ে রাখে, একবার স্ট্যাক সঙ্কুচিত করে আউটপুট বৃদ্ধি করে।

পুরোপুরি অনিবন্ধিত, এটি স্ট্যাক হিসাবে কেবল ইনপুট (বিষয়বস্তু উপেক্ষা করা) ব্যবহার করে; 9 - 1 = 8; এটি 8 বার অনিয়ন্ত্রিত হয়েছে।

একই পদ্ধতির কোনও এন> 4 এর জন্য কাজ করে: 92 * এন + 1 এর উপযুক্ত মানটিতে পরিবর্তন করুন , তারপরে একই সর্পিল প্যাটার্ন ব্যবহার করে বিন্দুর (নকল) প্যাটার্নটি প্রসারিত করুন যা প্রতিটি আনরোলের সময় সঠিকভাবে একটি বিন্দুর তালিকাভুক্ত না হওয়া নিশ্চিত করে।


ঠিক আছে, কেউ এন = 3 না পাওয়া পর্যন্ত উভয় বিভাগেই এটির বিজয়ী উত্তর হবে।
ক্যালভিনের শখ

3
@ ক্যালভিনের শখগুলি কি আমার মোট ডিক হওয়া উচিত এবং বাম-অনিয়োলিং সমাধানও পোস্ট করা উচিত? :-)
জন ডিভোরাক

কেন না. অন্য উত্তরটি অন্যথায় অসম্ভব বলে মনে হচ্ছে: পি
ক্যালভিনের

1
উভয় দিকের তালিকাভুক্ত করতে পারে এমন একজনের জন্য কেন যাবেন না? :)
বিটা ক্ষয়

@ বেটাডেচে হুম ... :-)
জন ডিভোরাক

13

গল্ফস্ক্রিপ্ট, এন = 4

এই এক ডান মূল অনুমান হিসাবে রোলস।

.. . 
...# 
.#.~
],8-

এখানে তালিকাভুক্তিগুলি রয়েছে:

    ...
    #..
    ..
],8-~#.

       .#.
       ...
],8-~#. ..

          ..
          .#
],8-~#. ....

            ..
],8-~#. ....#.

              .
],8-~#. ....#..

],8-~#. ....#...

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


এই ব্যবস্থা সম্পর্কে আপনি কীভাবে ভাবেন?
অভিমানী হাসেল্লার

3
@ প্রফেসহেস্কিলার আপনি না জানলে এটি আরও ভাল ...
অপ্টিমাইজার

8
আপনি কি সমাধান সমাধানের জন্য অনুসন্ধান করেছেন?
গর্বিত হাসেলেলার

বিশেষ চ্যালেঞ্জ: আপনি কি .এস এবং #এস থেকে একটি তৈরি করতে পারেন ?
জন ডিভোরাক

আমি অনুসরণ করতে পছন্দ করি ~ । আমি এটি এন = 3 এর জন্য চুরি করতে পারি?
জন ডিভোরাক

9

এপিএল, এন = 3

201
340
5|0

Unrolled:

   32
   40
5|001

     43
5|00102

       4
5|001023

5|0010234

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

এটি 5 দ্বারা বিভক্ত number সংখ্যাটির অবশিষ্ট গণনা করে last কেবলমাত্র শেষ লাইনের ফলাফল মুদ্রিত হয়।

এপিএল, এন = 2

⍬∞
≡0

Unrolled:

  ⍬
≡0∞

≡0∞⍬

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

একটি অ্যারের গভীরতা (মাত্রা বা দৈর্ঘ্যের সাথে বিভ্রান্ত হবে না) প্রদান করে:

  • 0একটি অ্যারে নয়। গভীরতা 0 হয়।
  • 0∞ দুটি আইটেম সহ একটি অ্যারে হয় 0 এবং (অনন্ত) । এটি গভীরতা 1।
  • 0∞⍬ অন্য আইটেম আছে , যা গভীরতা 1 সহ একটি খালি অ্যারে So তাই 0∞⍬গভীরতা 2 রয়েছে।

এই দুটি প্রোগ্রাম অনলাইন দোভাষীতেও কাজ করে। আমি নিশ্চিত নই যে পরবর্তীটি সিনথেটিকভাবে সঠিক কিনা।

⍬0
≡∞


⍬¯
≡0

এপিএল, যে কোনও এন> = 4 এর জন্য

এন = 4 এর জন্য:

∞  ∞
 ∞∞
∞ ∞
⍴1↓∞

সম্পূর্ণ নিবন্ধিত:

⍴1↓∞  ∞  ∞ ∞ ∞∞∞

এন = 5 এর জন্য:

∞   ∞
 ∞ ∞
 ∞∞
∞  ∞
⍴1↓ ∞

সম্পূর্ণ নিবন্ধিত:

⍴1↓ ∞   ∞   ∞  ∞  ∞ ∞ ∞∞∞

1↓অ্যারেতে একটি আইটেম সরিয়ে দেয়। যুক্তিটি যদি স্কেলার হয় তবে এটি খালি অ্যারেও প্রদান করে। অ্যারে দৈর্ঘ্য পায়।


কোন ব্যাখ্যা?
গর্বিত হাসেল্লার

নিবন্ধিত
জিমি 23013

আপনি আদর্শভাবে APL কোনো এন জন্য একই গভীরতা যুক্তিবিজ্ঞান ব্যবহার করতে পারেন ধন্যবাদ
অপ্টিমাইজার

@ অপ্টিমাইজার এটি এত সহজ নয়। শেষ লাইনের আগের বিষয়গুলি সিন্টেক্সিকভাবে সঠিক হতে হবে be সুতরাং আমি বেশিরভাগ ফাংশন বা অন্যান্য বিরামচিহ্নগুলি ব্যবহার করতে পারি না ()[]যেমন তারা কিছু অযাচিত জায়গায় উপস্থিত হবে।
jimmy23013

আমি যেমন বোঝাতে চাইছিলাম: `⍬ \ n⍬⍬0 \ n≡ ∞` (ঠিক তা নয়, তবে আপনি ধারণাটি পেয়েছেন)
Optimizer
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.