কার্পেট ঘূর্ণায়মান


15

এই প্রশ্নটি কেভিন ক্রুইজসেনের প্রশ্নে অনুপ্রাণিত হয়েছে ।

এখন কার্পেটটি ছড়িয়ে দেওয়া হয়েছে, আমরা এটি রোল করতে চাই। আপনার কাজটি এমন একটি প্রোগ্রাম লিখতে হয় যা একটি স্ট্রিং নেয় এবং এই স্ট্রিং থেকে তৈরি একটি সর্পিল ফেরত দেয় (পাশের দিক থেকে রোলড কার্পেটের প্রতিনিধিত্ব করে)।

কার্পেটটি ঘুরিয়ে দেওয়ার এক ধাপের প্রক্রিয়াটি নিম্নলিখিত is আমার অর্থটি বোঝানোর জন্য একটি উদাহরণ রয়েছে। লক্ষ্য করুন যে উদাহরণটি আরও ভাল বোঝার জন্য আংশিকভাবে ঘূর্ণিত কার্পেট দিয়ে শুরু হয়েছে:

ac
rpet
  • কার্পেটের "লেজ" থেকে "মাথা" আলাদা করুন: মাথাটি এখন পর্যন্ত গড়িয়ে গেছে, লেজটি যা রোল করা বাকি রয়েছে।
Head: ac   Tail:
      rp          et
  • মাথাটি 90 ° ঘড়ির কাঁটার দিকে ঘোরান।
Rotated head: ra   Tail (unchanged):
              pc                       et
  • নতুন মাথা প্রস্থ যদি (এখানে 2 ) লেজের দৈর্ঘ্যের চেয়ে কম বা সমান হয় (এখানে 2)
    • তারপরে, এটি লেজের উপরে রাখুন
    • অন্যথায়, কার্পেটটি (যেমনটি পদক্ষেপের শুরুতে ছিল) ঘূর্ণিত হয়েছিল
New carpet: ra
            pc
            et

প্রক্রিয়াটি যতবার প্রয়োজন ততবার পুনরাবৃত্তি করুন।


দুটি কার্পেট কার্পেট ঘূর্ণনের সমস্ত পদক্ষেপ দেখায়:

carpet

 c
 arpet

  ac
  rpet

    ra
    pc
    et
0123456789

 0
 123456789

  10
  23456789

    21
    30
    456789

      432
      501
      6789

কিছু নির্ভুলতা:

  • আপনাকে সমস্ত মধ্যবর্তী পদক্ষেপগুলি দেখানোর দরকার নেই, কেবল ঘূর্ণিত গালিচা (উদাহরণস্বরূপ, যদি আপনি ফলাফলটি গণনা করার জন্য কোনও পুনরাবৃত্ত উপায় খুঁজে পান, এটি নিখুঁত)। এছাড়াও, উপরের উদাহরণগুলিতে আপনাকে কোনও শীর্ষস্থানীয় শ্বেতস্পেস মুদ্রণের দরকার নেই, আমি কেবল তাদের জিনিসগুলি সারিবদ্ধ করার জন্য দেখাই।
  • ইনপুট একটি স্ট্রিং, চরের তালিকা / অ্যারে
  • আউটপুট stdout বা একটি ফাইল মুদ্রিত হয়।
  • ইনপুটটি দুর্দান্ত: দৈর্ঘ্য কমপক্ষে 1 চরের এবং কমপক্ষে একটি ধ্রুবক পর্যাপ্ত পরিমাণে ছোট যাতে এটি সমস্যা তৈরি করে না, তবে আপনি আপনার প্রোগ্রামে এই ধ্রুবকটি ব্যবহার করতে পারবেন না; স্ট্রিংয়ের বিষয়বস্তুটি কেবলমাত্র ভাল অক্ষর ([a-zA-Z0-9]), আপনার পছন্দটিতে এনকোডিং রয়েছে।
  • এটি , তাই বাইট জেতে সংক্ষিপ্ত উত্তর। কোড-গল্ফ ভাষাগুলি আপনাকে নন-কোডগলফিং ভাষার সাথে উত্তর পোস্ট করতে নিরুৎসাহিত করবেন না। 'যে কোনও' প্রোগ্রামিং ভাষার জন্য যতটা সম্ভব সংক্ষিপ্ত উত্তর নিয়ে আসার চেষ্টা করুন।
  • ডিফল্ট লুফোলগুলি নিষিদ্ধ।
  • যদি সম্ভব হয় তবে আপনার কোডের জন্য একটি পরীক্ষার সাথে একটি লিঙ্ক যুক্ত করুন।
  • এছাড়াও, যদি আপনার মনে হয় এটির প্রয়োজন আছে তবে আপনার উত্তরের জন্য একটি ব্যাখ্যা যুক্ত করুন।


2
এছাড়াও এটির একটি: কোডগল্ফ.স্ট্যাকেক্সচেঞ্জ / প্রশ্নগুলি / 125966/… , তবে কোনওটি সমাপ্তি পরীক্ষার অন্তর্ভুক্ত নয়।
ব্রোমাইন্ড

3
প্রস্তাবিত পরীক্ষার ক্ষেত্রে: ProgrammingPuzzlesAndCodeGolf- চূড়ান্ত লেজের দৈর্ঘ্য 1 এর চেয়ে বেশি আমাকে ট্রিপ করেছে।
সুক

1
আমি মনে করি আপনি এখানে "মাথা" এবং "লেজ" শব্দটি সরিয়ে নিয়েছেন: "নতুন মাথার প্রস্থ যদি [...] লেজের দৈর্ঘ্যের চেয়ে বড় বা সমান হয় [...]"।
এরিক আউটগল্ফার

1
অত্যধিক সীমাবদ্ধ ইনপুট / আউটপুট নিয়মের কারণে নিম্নচ্যুত; আমি আমার পাইথন 2 উত্তরটি মোছা থেকে এক ব্যবহার করতে পারবেন না printএকটি ভিতরে lambda
চ্যাস ব্রাউন

উত্তর:


7

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

FS«F¬℅§KV⁰⟲⁶→Pι

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

FS«

গালিচা উপর লুপ।

F¬℅§KV⁰

কার্সারের উপরে কিছু আছে কিনা তা পরীক্ষা করে দেখুন।

⟲⁶

যদি না হয় তবে কার্পেটটি রোল করুন।

→Pι

ডান সরান এবং বর্তমান অক্ষর আউটপুট।

উদাহরণ: ইনপুটটির জন্য 0123456789, নিম্নলিখিত ক্রিয়াগুলি ঘটে:

0

0 মুদ্রিত হয়

01

কার্সারটি ডানদিকে চলে যায় এবং 1মুদ্রিত হয়।

0
1

যেহেতু উপরে কিছু নেই 1তাই ক্যানভাসটি ঘোরানো হয়।

0
12

কার্সারটি ডানদিকে চলে যায় এবং এটি 2মুদ্রিত হয়।

10
2

যেহেতু উপরে কিছু নেই 2তাই ক্যানভাসটি ঘোরানো হয়।

10
23

কার্সারটি ডানদিকে চলে যায় এবং এটি 3মুদ্রিত হয়।

10
234

কার্সারটি ডানদিকে চলে যায় এবং এটি 4মুদ্রিত হয়।

21
30
4

যেহেতু উপরে কিছু নেই 4তাই ক্যানভাসটি ঘোরানো হয়।

21
30
45

কার্সারটি ডানদিকে চলে যায় এবং এটি 5মুদ্রিত হয়।

21
30
456

কার্সারটি ডানদিকে চলে যায় এবং এটি 6মুদ্রিত হয়।

432
501
6

যেহেতু উপরে কিছু নেই 6তাই ক্যানভাসটি ঘোরানো হয়।

432
501
67

কার্সারটি ডানদিকে চলে যায় এবং এটি 7মুদ্রিত হয়।

432
501
678

কার্সারটি ডানদিকে চলে যায় এবং এটি 8মুদ্রিত হয়।

432
501
6789

কার্সারটি ডানদিকে চলে যায় এবং এটি 9মুদ্রিত হয়।


সেটা খুবই ভালো. সুতরাং মূলত চারকোলের একটি বিল্টিন "রোল" অপারেটর রয়েছে ?
জোনাহ

1
@ জোনাঃ আচ্ছা, এটি যেমন হয় তেমন আমার জন্য রোল দেয় না তবে স্ট্রিং-এর চরিত্র অনুসারে অক্ষরটি আমি যেতে যেতে রোল করতে পারি, হ্যাঁ।
নীল

3

পাইথ, 37 বাইট

.U+j;bZ.WgleHJlhH,+_MChZ<eZJ>eZJ,]hQt

এটি এখানে অনলাইনে চেষ্টা করুন , বা এখানে সমস্ত পরীক্ষার কেস একবারে যাচাই করুন

.U+j;bZ.WgleHJlhH,+_MChZ<eZJ>eZJ,]hQtQ   Implicit: Q=eval(input())
                                         Trailing Q inferred
                                 ]hQ     First character of Q, wrapped in an array
                                    tQ   All but the first character of Q
                                ,        2-element array of the two previous results
                                           This yields array with rolled carpet (as array of strings) followed by the tail
       .W                                While condition function is truthy, execute inner function, with initial value of the above:
         gleHJlhH                          Condition function, input H
             JlhH                            Number of layers in the current rolled carpet, store in J
          leH                                Lenth of the tail
         g   J                               Is the above greater than or equal to J?
                 ,+_MChZ<eZJ>eZJ           Inner function, input Z
                   _MChZ                     Rotate the current rolled carpet (transpose, then reverse each row)
                  +     <eZJ                 Append the first J characters of the tail as a new row
                 ,                           Pair the above with...
                            >eZJ             ... all but the first J characters of the tail - this is the new tail
.U+j;bZ                                  Join the carpet roll on newlines and append the tail, implicit print

3

কাস্তে , 24 বাইট

►S=ÖLmFȯ:T↔ø§z:oΘḣĠ+CṘ2N

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

ব্যাখ্যা

Implicit input, say s="carpets"

CṘ2N  Break s into chunks:
   N   Natural numbers: [1,2,3,4,..
 Ṙ2    Repeat each twice: [1,1,2,2,3,3,4,4,..
C      Break s into chunks of these lengths: ["c","a","rp","et","s"]
       The last chunk is shorter if we run out of characters.

§z:oΘḣĠ+  Attempt to merge suffix of chunks:
      Ġ    Cumulative reduce chunk list from right
       +   by concatenation: ["carpets","arpets","rpets","ets","s"]
   oΘḣ     Prefixes of chunk list (empty and nonempty): [[],["c"],..,["c","a","rp","et","s"]]
§z         Zip these by
  :        appending: [["carpets"],["c","arpets"],..,["c","a","rp","et","s"]]
           These are all versions of the chunk list where some suffix has been merged.

mFȯ:T↔ø  Roll each list:
m         Map
 F        reduce from left
      ø   starting from empty character matrix
  ȯ:T↔    by this function:
    T↔     Reverse and transpose (rotating by 90 degrees)
  ȯ:       then append next chunk as new row.
         Result: [["carpets"],["c","arpets"],..,["epr","tca","s"]]

►S=ÖL  Select the matrix rolled by the correct amount:
►       Find element that maximizes
 S=     being equal to
   ÖL   sort by length.
        This selects a matrix whose rows have non-decreasing lengths.
        Ties are broken by choosing the rightmost one.
       Result: ["ra","pc","ets"]

Implicitly print each row separated by newlines.

2

জে , 69 বাইট

-3 বাইট ধন্যবাদ ফ্রাউনফ্রোগের জন্য

[:(}:@[,{:@[,])&>/[:((|:@|.@[,#@[$]);#@[}.])&>/^:(<:&#&>/)^:_,.@{.;}.

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

ব্যাখ্যা

[: (}:@[ , {:@[ , ])&>/ [: ((|:@|.@[ , #@[ {. ]) ; #@[ }. ])&>/^:(<:&#&>/)^:_ }. ;~ 1 1 $ {.

জেটির জন্য কিছুটা ভার্বোজ হয়েও অ্যালগরিদম সোজা is

সামগ্রিক কৌশল: একটি (সম্ভবত খালি) বাকী টুকরা সহ স্কোয়ার টেবিলের ইনপুটটি হ্রাস করুন।

আমরা হ্রাস করার সাথে সাথে আমরা বাক্সগুলির একটি 2 উপাদান তালিকা ব্যবহার করব। আমাদের "ফলাফল এখনও" প্রথম বাক্স হবে, এবং "প্রক্রিয়াজাতকরণের বাকি আইটেমগুলি" ২ য় বাক্স হবে। প্রথম বাক্সটি ইনপুটটির শিরোনামে শুরু করা হবে (তবে একটি টেবিলে রূপান্তরিত):

1 1 $ {.

এবং "প্রক্রিয়াজাতকরণে থাকা আইটেমগুলি" ইনপুটটির লেজ হবে:

}. ;~

এখন আমাদের আছে:

┌─┬─────┐
│c│arpet│
└─┴─────┘

যেখানে 'সি' আসলে 1x1 টেবিল।

আমরা জে ডো ব্যবহার করে তা হ্রাস করি ... লুপের সময়:

^:(...)^:_

যেখানে প্রথম বন্ধনীর অংশটি "চালিয়ে যান" শর্ত:

<:&#&>/

যা বলে "ডান বাক্সের দৈর্ঘ্য বাম বাক্সের দৈর্ঘ্যের চেয়ে বড় বা সমান (যেমন, বর্গক্ষেত্রের পাশের দৈর্ঘ্য)

"চালিয়ে যাওয়া" মানে কী? এটি প্রথমটির বামে ক্রিয়াপদে সংজ্ঞায়িত করা হয়েছে ^:, যা আমাদের বর্তমান ফলাফলটি কীভাবে গ্রহণ করতে এবং পরবর্তী পুনরাবৃত্তির উত্পাদন করতে পারে তা আমাদের জানায়। সেই ক্রিয়াটি হ'ল:

((|:@|.@[ , #@[ {. ]) ; #@[ }. ])&>/

আসুন এটি ভেঙে দিন:

((|:@|.@[ , #@[ {. ]) ; #@[ }. ])&>/
(  verb in parens               )&>/ NB. put the verb in parens
                                     NB. between the two items
                                     NB. of our list, and unbox
                                     NB. them into left / right
                                     NB. args ([ / ]) for the verb
 (|:@|.@[ , #@[ {. ]) ; #@[ }. ]     NB. breaking down verb in 
                                     NB. parens...
                      ; ....         NB. new "remaining items":
                            }. ]     NB. remove from remaining
                        #@[          NB. the size of a side of
                                     NB. the result matrix
                ....  ;              NB. new "result":
  |:@|.@[                            NB. rotate existing result
          ,                          NB. and put it on top of
            #@[ {. ]                 NB. the items we removed
                                     NB. from remaining items

এটি, এটি কেবলমাত্র অ্যালগরিদমকে ওপিতে বর্ণিত হয়েছে যা আক্ষরিকভাবে জেতে অনুবাদ করেছে।

অবশেষে আমরা (সম্ভবত 0) টি বাকী আইটেমগুলি, আমাদের কার্পেট রোলের লেজগুলি নিয়ে ডিল করি:

(}:@[ , {:@[ , ])&>/

এটি বলেছে "ফলাফলের শেষ এলম ব্যতীত সমস্ত কিছু নিন":

}:@[ 

এবং ,ফলাফলের শেষ আইটেমগুলিতে {:@[items শেষ আইটেমটিতে যুক্ত হওয়া আইটেমগুলি যুক্ত করুন, ]


আহ, জে ... চিঠিগুলি নূব
আরকে

,.কি করতে পারে 1 1$]এবং $হিসাবে ব্যবহার করা যেতে পারে {.
ফ্রাউনফ্রোগ

পুনঃটুইট আপনার প্রথম পরামর্শটি দিয়ে আমি এটি 70 বাইটে পেয়েছি তবে আমি বুঝতে পেরেছি কিনা তা নিশ্চিত ছিল না $ can be used as {.- আপনি কি পরিষ্কার করতে পারবেন?
জোনাহ

1
ব্যাখ্যার শেষ লাইন, আপনি use ব্যবহার করুন { কেটে ফেলতে, যেটি হতে পারে আমি যতদূর বুঝতে পারি understand
ফ্রাউনফ্রোগ

এছাড়াও আপনি ডান প্রতিস্থাপন করতে পারেন [: একটি @
ফ্রাউনফ্রোগ

1

আর , 146 132 বাইট

function(s){m=F[F]
while({m=rbind(t(m)[,F:0],s[1:F])
s=s[-1:-F]
length(s)>sum(F<-dim(m))})0
write(m[F:1,],1,F[1],,"")
cat(s,sep="")}

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

কার্পেট-ঘূর্ণায়মান পদ্ধতিটি কার্যকর করে। অক্ষরের তালিকা হিসাবে স্টপআউটে ইনপুট নেয়।

একটি do-whileলুপ ব্যবহার করার উপায় খুঁজে পেয়ে এবং ব্যবহার শুরু করে 14 বাইট সংরক্ষণ করা F

function(s){
m=F[F]					# logical(0); create an empty array (this gets automatically promoted to character(0) later
while(					# do-while loop
      {m=rbind(t(m)[,F:0],s[1:F])	# rotate m counterclockwise and add the first F characters of s to the bottom
       s=s[-1:-F]			# remove those characters
       length(s)>sum(F<-dim(m))})0	# while the number of characters remaining is greater than the sum of m's dimensions
write(m[F:1,],1,F[1],,"")		# write the rolled portion write writes down the columns, we reverse each column
cat(s,sep="")				# and write the remaining characters
}

1

জেলি , 30 বাইট

খুব দীর্ঘ মনে হচ্ছে ...

ḢW,ðZU;Ls@¥©ḢWɗ,®Ẏ¤ð/ẈṢƑ$¿ḢY;Ɗ

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

কিভাবে?

ḢW,ðZU;Ls@¥©ḢWɗ,®Ẏ¤ð/ẈṢƑ$¿ḢY;Ɗ - Main Link: list of characters
Ḣ                              - pop and yield head
 W                             - wrap in a list
  ,                            - pair with (the remaining list after Ḣ)
                         ¿     - while...
                        $      - ...condition: last two links as a monad:
                     Ẉ         -   length of each
                       Ƒ       -   is invariant under:
                      Ṣ        -     sort
                    /          - ...do: reduce by:
   ð               ð           -   the enclosed dyadic chain -- i.e. f(head, tail):
    Z                          -     transpose
     U                         -     reverse each (giving a rotated head)
              ɗ                -     last three links as a dyad:
          ¥                    -       last two links as a dyad:
       L                       -         length (i.e. number of rows in current roll)
         @                     -         with swapped arguments:
        s                      -           split (the tail) into chunks of that length
           ©                   -       (copy to register for later)
            Ḣ                  -       pop and yield head (Note register "copy" is altered too)
             W                 -       wrap in a list
      ;                        -     concatenate (the rotated head with the first chunk of the tail)
                  ¤            -     nilad followed by link(s) as a nilad:
                ®              -       recall from register (other chunks of tail, or an empty list)
                 Ẏ             -       tighten (the chunks to a flat list)
               ,               -     pair (the concatenate result with the tightened chunks)
                             Ɗ - last three links as a monad:
                          Ḣ    -   pop and yield head
                           Y   -   join with newline characters
                            ;  -   concatenate (the remaining tail)
                               - when running as a full program implicitly prints

1

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

g©L¦€DD2šηO®>‹Ï©IŽ8OS®g4α._.ΛðÜI®O®g->.$«

বেশ দীর্ঘ পথ, তবে আমি ক্যানভাসটি ব্যবহার করতে চেয়েছিলাম .. এটি সম্ভবত একটি খারাপ পছন্দ ছিল যে আমি এটি শেষ করেছি এবং এটি দীর্ঘ হয়ে গেছে ..

এটি অনলাইনে চেষ্টা করুন । (কোনও পরীক্ষার স্যুট নেই, কারণ মনে হচ্ছে এটি একটি অদ্ভুত সমস্যা বিল্টিনের সাথে ..)

ব্যাখ্যা:

ক্যানভাস এবং আমি আমার কোডটি কী সম্পাদন করতে চেয়েছিলাম তার একটি সাধারণ ব্যাখ্যা দিয়ে আমাকে শুরু করুন। আরও বিস্তারিত তথ্য পাওয়া যাবেআমার সম্পর্কিত এই প্রাসঙ্গিক 05AB1E টিপিতে , তবে এই চ্যালেঞ্জের জন্য আমি নিম্নলিখিতগুলি করতে চেয়েছিলাম:

ক্যানভাস অন্তর্নির্মিত তিনটি পরামিতি লাগে:

  • একটি: লাইন (গুলি) এর আকার (গুলি)। এই চ্যালেঞ্জের জন্য, এটি একটি তালিকা হবে [2,2,3,3,4,4,5,5,...]
  • : আমরা যে চরিত্রটি প্রদর্শন করতে চাইছি। এই চ্যালেঞ্জের জন্য, এটি কেবল ইনপুট-স্ট্রিং হবে।
  • : আমরা এই চরিত্রের রেখাগুলি যে দিকে আঁকতে চাই। এই চ্যালেঞ্জের জন্য এটি দিকনির্দেশ হবে[2,0,6,4] ([,,,]) ঘোরানো এনইনপুট-স্ট্রিংয়ের উপর নির্ভর করে সময় শুরু করতে আলাদা শুরুর দিক (যেমন ইনপুট carpetহয়)[0,6,4,2]পরিবর্তে এবং ইনপুট 0123456789ABCDEFGHIহয়[6,4,2,0] পরিবর্তে).

কোড হিসাবে:

g                # Get the length of the (implicit) input-string
 ©               # Store it in the register (without popping)
  L              # Create a list in the range [1,length]
   ¦             # Remove the first item to make the range [2,length]
    D           # Duplicate each to get the list [2,2,3,3,4,4,5,5,...]
      D2š        # Create a copy and prepend a 2: [2,2,2,3,3,4,4,5,5,...]
         η       # Get the prefixes: [[2],[2,2],[2,2,2],[2,2,2,3],...]
          O      # Sum each prefix: [2,4,6,9,12,16,20,...]
           ®     # Push the length from the register again
            >‹   # Check for each summed prefix if it's <= length
              Ï  # And only leave the truthy values
               © # And store this in the register (without popping)
                 # (This is our `a` for the Canvas builtin)
I                # Push the input-string
                 # (This is our `b` for the Canvas builtin)
Ž8O              # Push compressed integer 2064
   S             # Converted to a list of digits: [2,0,6,4]
    ®g           # Push the list from the register, and get its length
      4α         # Get the absolute difference with 4
        ._       # And rotate the [2,0,6,4] that many times towards the left
                 # (This is our `c` for the Canvas builtin)
               # Now use the Canvas builtin, without printing it yet
  ðÜ             # Remove any trailing spaces (since the Canvas implicitly makes a rectangle)
     ®O          # Push the sum of the list from the register
       ®g-       # Subtract the length of the list from the register
          >      # And add 1
    I      .$    # Remove that many leading characters from the input-string
             «   # And append it at the end of the roll created by the Canvas
                 # (after which the result is output implicitly)

আমার এই 05AB1E টিপটি দেখুন (বিভাগটি বৃহত পূর্ণসংখ্যাগুলি কীভাবে সংকোচিত করবেন? ) কেন Ž8Oতা বুঝতে 2064


0

পাইথন 3 , 112 বাইট

r=lambda t,h=[[]]:len(h)>len(t)and h[:-1]+[h[-1]+list(t)]or r(t[len(h):],list(zip(*h[::-1]))+[list(t)[:len(h)]])

এই ক্ষেত্রে, আউটপুটটি ফাংশনের মান।

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

আপনি যদি পছন্দ করেন তবে এখানে আরও একটি (দীর্ঘতর, 129 বাইট ) সমাধান রয়েছে যা সরাসরি ঘূর্ণিত ইনপুটটি প্রিন্ট করে:

r=lambda t,h=['']:len(h)>len(t)and set(map(print,h[:-1]+[h[-1]+t]))or r(t[len(h):],list(map(''.join,zip(*h[::-1])))+[t[:len(h)]])

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


1
এটি প্রিন্ট করা দরকার
ASCII- কেবল

@ এএসসিআইআই-কেবল: প্রশ্নের লেখকের উদ্ধৃতি দিয়ে: "মুদ্রণের পরিবর্তে ফিরতে যদি কোনও দুর্দান্ত উন্নতি বা একটি দুর্দান্ত কৌশল দেখানো হয় তবে একটি উত্তর পোস্ট করুন (এবং স্পষ্টতই যে আপনি ফিরে আসছেন, মুদ্রণ করছেন না") । সুতরাং আমি মনে করি এটি ঠিক আছে।
পাইকোট

0

ম্যাটল্যাব / অকটাভ , 154 বাইট

সংক্ষিপ্ততম নয়, তবে ম্যাটল্যাব / অক্টোটাভের গল্ফ সর্বদা মজাদার :)

function h=r(t,h);n=fliplr(h');s=size(n,2);q=numel(t);if s<=q h=r(t(max(s,1)+1:end),[n; t(1:max(s,1))]);elseif q>0 h(:,end+q)=' ';h(end,end-q+1:end)=t;end

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


1
দুঃখের সাথে, ওপ আপনাকে বলেছে যে আপনাকে মুদ্রণ করতে হবে
ASCII- কেবল

@ এএসসিআইআই-কেবল এখানে বর্ণিত হিসাবে এটি ( এটি.মাথওয়ার্কস / ম্যাটলাবসেন্ট্রাল / এ্যান্সওয়ার্স / ৮ ), মতলব বিশ্বের স্টাডাউট কমান্ড উইন্ডোকে বোঝায়। প্রতিটি কমান্ডের মূল্যায়নের ফলাফলটি স্বয়ংক্রিয়ভাবে কমান্ড উইন্ডোতে মুদ্রিত হয়েছে বলে আমি মনে করি যে এই উত্তরটি প্রশ্নের প্রয়োজনীয়তার সাথে সামঞ্জস্যপূর্ণ বলে বিবেচিত হতে পারে।
পাইকোট


@ এএসসিআইআই-কেবলমাত্র আপনি যা বলতে চাইছেন তা সত্যিই পাই না। এটি একটি ফাংশন, আপনি এটি কল করুন, ফলাফলটি স্বয়ংক্রিয়ভাবে কমান্ড উইন্ডোতে মুদ্রিত হবে (অর্থাত্ stdout)। এতে দোষ কী? এমনকি আর
উত্তরটিও এর

1
এই মুহূর্তে আপনি dispএটি, আমি বলব যে আপনি dispযে লোকগুলিকে আর জানেন না তাদের ডিফল্টরূপে STDOUT এ লিখতে দেয় এমন লোকদের অপসারণ করা উচিত
ASCII- কেবল
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.