আসুন ডিজিট মোজাইক ডিজাইন করি


25

চ্যালেঞ্জ

পূর্ণসংখ্যা একটি ইতিবাচক দেওয়া , তার ডিজিটের প্রতিটি পুনরাবৃত্তি সময়ের একটি সংখ্যা তার অবস্থান সংশ্লিষ্ট । অন্য কথায়, প্রতিটি অঙ্কের বার বার করা উচিত (প্রতি , 1-ইনডেক্সড), যাতে নতুন সংখ্যাটি তৈরি হয়:Nd1,d2,d3,,dnNdkk1kn

d1d2d2d3d3d3dndndndnn times¯

তারপরে, এটি আনুভূমিকভাবে এবং উলম্বভাবে লিখুন এবং শূন্যস্থানটি অঙ্কের অনুলিপিগুলিতে পূরণ করুন যা কলাম সূচক এবং ফাঁকা জায়গার সারি সূচকের মধ্যে বৃহত্তর সূচকের সাথে মিলে যায়। চূড়ান্ত আউটপুটটি এর মতো দেখতে হবে:

[d1d2d2d3d3d3d2d2d2d3d3d3d2d2d2d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3d3]

চশমা

আপনি কে পূর্ণসংখ্যা, একটি স্ট্রিং, অঙ্কগুলির একটি তালিকা বা অঙ্কগুলির প্রতিনিধিত্বকারী অক্ষরের একটি তালিকা হিসাবে গ্রহণ করতে পারেন । আউটপুটটি একটি নিউলাইন-বিচ্ছিন্ন স্ট্রিং, স্ট্রিং / ইন্টিজারের একটি তালিকা বা অক্ষর / অঙ্কগুলির তালিকাগুলির তালিকা হতে পারে তবে সম্ভব হলে দয়া করে একটি সুন্দর-মুদ্রণ সংস্করণও অন্তর্ভুক্ত করুন। যদি আউটপুটটি একটি নতুন লাইন-বিভাজিত স্ট্রিং হয় তবে এটি এটিকে গ্রহণযোগ্য:N

  • নেতৃস্থানীয় / পিছনের সাদা স্থান থাকতে পারে, যতক্ষণ না আউটপুটের চাক্ষুষ চেহারা পরিবর্তন হয় না
  • সামঞ্জস্য পরিমাণে শূন্যস্থান ব্যবহার করে কলামগুলি বা একটানা (শূন্য নয়) পরিমাণে নিউলাইনগুলি পৃথক করুন

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

পরীক্ষার মামলা

65:

655
555
555

---------------

203:

200333
000333
000333
333333
333333
333333

--------------

233:

233333
333333
333333
333333
333333
333333

---------------

5202:

5220002222
2220002222
2220002222
0000002222
0000002222
0000002222
2222222222
2222222222
2222222222
2222222222

---------------

12345:

122333444455555
222333444455555
222333444455555
333333444455555
333333444455555
333333444455555
444444444455555
444444444455555
444444444455555
444444444455555
555555555555555
555555555555555
555555555555555
555555555555555
555555555555555

আমাদের কি একই ডিজিটের দুটি হ্যান্ডেল একে অপরের পাশে থাকবে?
ডম হেস্টিংস

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

উত্তর:


9

জাভাস্ক্রিপ্ট (ES7), 70 বাইট

স্ট্রিং হিসাবে ইনপুট নেয়। একটি পেছনের লাইনফিডের সাথে একটি স্ট্রিং প্রদান করে।

s=>(g=x=>(c=s[(x>y?x:y)**.5-1>>1])?c+g(x+8):x>y?`
`+g(1,y+=8):'')(y=1)

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

কিভাবে?

পদ্ধতি

বর্গক্ষেত্রের ম্যাট্রিক্সের মধ্য দিয়ে হাঁটা এবং প্রতিটি ইনপুট স্ট্রিংয়ে সূচি রূপান্তর করে আমরা আউটপুট চরিত্রটি তৈরি করি ।ix,y

স্ট্রিং সূচকগুলিতে স্থানাঙ্ক

উপরের বাউন্ড এর অঙ্ক এলাকা (0-ইন্ডেক্স) বরাবর প্রতিটি অক্ষ দেওয়া হয় A000096 : এন টি এইচunnth

un=n(n+3)2
u0=0,u1=2,u2=5,u3=9,u4=14,u5=20,

একটি পূর্ণসংখ্যার , আমরা এটি নির্ধারণ করতে পারি যে এটি সমাধানের মাধ্যমে কোন অঞ্চলে রয়েছে :এন = এক্স+ + 1kn=x+1

x²+3x2k=0

নেতৃস্থানীয়:

x=1+8k32
n=1+8k32+1=1+8k12

প্রতিটি কক্ষের জন্য , আমরা সংজ্ঞায়িত করি:(x,y)

vx,y=max(1+8x,1+8y)

এই মানগুলি সূচকগুলিতে the ইনপুট স্ট্রিংয়ে রূপান্তরিত করে:vx,yix,y

ix,y=vx,y12
 v(x,y) |  0  1  2  3  4  5  6  7  8  9        i(x,y) |  0  1  2  3  4  5  6  7  8  9
--------+-------------------------------      --------+-------------------------------
    0   |  1  9 17 25 33 41 49 57 65 73           0   |  0  1  1  2  2  2  3  3  3  3
    1   |  9  9 17 25 33 41 49 57 65 73           1   |  1  1  1  2  2  2  3  3  3  3
    2   | 17 17 17 25 33 41 49 57 65 73           2   |  1  1  1  2  2  2  3  3  3  3
    3   | 25 25 25 25 33 41 49 57 65 73           3   |  2  2  2  2  2  2  3  3  3  3
    4   | 33 33 33 33 33 41 49 57 65 73   -->     4   |  2  2  2  2  2  2  3  3  3  3
    5   | 41 41 41 41 41 41 49 57 65 73           5   |  2  2  2  2  2  2  3  3  3  3
    6   | 49 49 49 49 49 49 49 57 65 73           6   |  3  3  3  3  3  3  3  3  3  3
    7   | 57 57 57 57 57 57 57 57 65 73           7   |  3  3  3  3  3  3  3  3  3  3
    8   | 65 65 65 65 65 65 65 65 65 73           8   |  3  3  3  3  3  3  3  3  3  3
    9   | 73 73 73 73 73 73 73 73 73 73           9   |  3  3  3  3  3  3  3  3  3  3

শর্ত স্থগিত করা

আমরা জানি যে আমরা পৌঁছেছি:

  • ম্যাট্রিক্সের ডান সীমানা যখন at এ অক্ষরটি উপস্থিত না থাকে এবং আমাদেরix,yx>y

  • ম্যাট্রিক্সের নীচের সীমানা যখন অক্ষরটি বিদ্যমান না থাকে এবং আমাদেরxy


7

জে , 16 15 বাইট

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

{~#\<:@>./~@##\

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

Nএকটি স্ট্রিং হিসাবে লাগে ।

প্রাথমিক সমাধানটির ব্যাখ্যা:

              #\   finds the length of the successive prefixes of the input (1 2 3...)
            #~     copies each digit as many times (1 2 2 3 3 3...)  
       >./~@       and creates a table of the max of the row/col numbers
  [:<:@            then subtract 1 from each element (for indexing)
{~                 select the corresponding digit from the input

ইনপুট সহ পরীক্ষার সেশন 203:

   #\ '203'
1 2 3

   #~#\ '203'
1 2 2 3 3 3

   >./~@#~#\ '203'
1 2 2 3 3 3
2 2 2 3 3 3
2 2 2 3 3 3
3 3 3 3 3 3
3 3 3 3 3 3
3 3 3 3 3 3

   <:@>./~@#~#\ '203'
0 1 1 2 2 2
1 1 1 2 2 2
1 1 1 2 2 2
2 2 2 2 2 2
2 2 2 2 2 2
2 2 2 2 2 2

   ({~[:<:@>./~@#~#\) '203'
200333
000333
000333
333333
333333
333333

1
হ্যাঁ, এর স্থান নির্ধারণের বাইরে ), আপনার এপিএল উত্তরটি আমার-ই-এর মতোই।
এরিক আউটগল্ফার

আমি সত্যিই জে জানে না, তবে [:<:@বেশ ব্যয়বহুল বলে মনে হচ্ছে। আপনি পরিবর্তে 1-সূচক হিসাবে অ্যাকাউন্টে সূচীকরণের তালিকায় কিছু উপস্থাপন করতে পারেন (উদাহরণস্বরূপ প্রতিটি প্রয়োজনীয় উপাদান 1 টি ডান দিকে সরানোর জন্য একটি 0 প্রস্তুত করা)?
মিঃ এক্সকোডার

@ মিঃ এক্সকোডার আমি সে সম্পর্কে ভাবছিলাম। আমি এটি চেষ্টা করব যাতে এটি কিছু বাইট সংরক্ষণ করে।
গ্যালেন ইভানভ

@EriktheOutgolfer {⍵[∘.⌈⍨(/⍨)⍳⍴⍵]} ?
গ্যালেন ইভানভ

@ গ্যালেন ইভানোভ হ্যাঁ, এটি।
এরিক আউটগল্ফার



6

আর , 59 বাইট

function(a){m=outer(x<-rep(g<-seq(a),g),x,pmax);m[]=a[m];m}

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

  • আমি লক্ষ্য করেছি যে ডিজিটরের ভেক্টর নেওয়া গ্রহণযোগ্য এবং এটি 21 বাইট সংরক্ষণ করার অনুমতি দিয়েছে :)
  • -২ বাইটস কেবলমাত্র চরিত্রের ভেক্টর গ্রহণ করার জন্য @ জিউজ্পে পরামর্শের জন্য ধন্যবাদ
  • -2 আর্গুমেন্ট সংজ্ঞা নির্ধারণ বাইট

1
আপনি aঅক্ষরগুলির ভেক্টর হিসাবে গ্রহণ করতে পারেন , আপনাকে g=seq(a)সরাসরি সেট করার অনুমতি দেয় ।
জিউসেপ

@ জিউসেপ: ঠিক আছে!
digEmAll সমস্ত


5

05 এ বি 1 , 14 11 10 বাইট

ম্যাজিক অক্টোপাস আর্ন / আদনানকে 1 বাইট সংরক্ষণ করা হয়েছে

ƶJDv¬N×?=¦

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

ব্যাখ্যা

ƶ            # repeat each element its index (1-based) times 
 J           # join to string
  Dv         # for N in [0 ... len(string)-1] do
    ¬N×      # push the head repeated N times
       ?     # print without newline
        =    # print the rest of the string without popping
         ¦   # remove the head


1
যদিও আমার কাছে কোনও ক্রেডিট নেই, ক্রেডিটটি অ্যাডনানস: কোডগলফ.স্ট্যাকেক্সেঞ্জিং.
ম্যাজিক অক্টোপাস

@ ম্যাজিক অ্যাক্টোপাস উর্ন: আহা, উজ্জ্বল! আপনাকে উভয়কেই ধন্যবাদ;)
এমিগানা



3

এক্সেল ভিবিএ, 95 বাইট

একটি অনামী ভিবিই তাত্ক্ষণিক উইন্ডো ফান্ট যা [A1]কনসোল থেকে ইনপুট নেয় এবং আউটপুট দেয়

n=[len(A1)]:For y=1To n:For l=1To y:?:For x=1To n:?String(x,Mid([A1],IIf(x>y,x,y)));:Next x,l,y

অবহেলিত এবং মন্তব্য

n=[len(A1)]                         ''  Get Length
For y=1To n                         ''  Iterate down input
For l=1To y                         ''  Iterate down repeat lines
?                                   ''  Print Newline
For x=1To n                         ''  Iterate accross input
?String(x,Mid([A1],IIf(x>y,x,y)));  ''  Print x of the `max(x,y)`th digit in input
Next x,r,y                          ''  Loop, Loop, Loop

2

এমএটিএল , 15 12 বাইট

tftY"t!2$X>)

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

আমি সন্দেহ করি এটি ছোট করা যেতে পারে তবে এটি এতটা খারাপ নয় ...

          % implicit input, '230'
t         % duplicate input. Stack: ['230','230']
f         % indices of nonzero values. Stack: ['230',[1,2,3]]
t         % duplicate. Stack: ['230',[1,2,3],[1,2,3]]
Y"        % run-length decoding. Stack: ['230',[1,2,2,3,3,3]]
t         % duplicate. Stack: ['230',[1,2,2,3,3,3],[1,2,2,3,3,3]]
!         % transpose. Stack: ['230',[1,2,2,3,3,3],[1;2;2;3;3;3]]
2$X>      % elementwise maximum of 2 inputs, with broadcast.
          % Stack:
          % ['230',
          % [1, 2, 2, 3, 3, 3;
          %  2, 2, 2, 3, 3, 3;
          %  2, 2, 2, 3, 3, 3;
          %  3, 3, 3, 3, 3, 3;
          %  3, 3, 3, 3, 3, 3;
          %  3, 3, 3, 3, 3, 3]]
 )        % index into G
          % implicit end, display stack contents

2

++ , 35 বাইট যুক্ত করুন

L,bLRdBcB]£X¦Ω+d‽b>1€Ω_A€Ω:AbLR¦+$T

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

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

আমরা সংখ্যার তালিকা হিসাবে ইনপুট নিই, এবং ক) আমাদের সাথে অঙ্কগুলিতে কাস্ট করা থেকে বাধা দেয় BDএবং পাশাপাশি দুটি বাইট লাগবে এমন অঙ্কগুলি সংরক্ষণ করতে বাধা দেয় ।

প্রথমত, আমরা থেকে একটি সীমার উৎপন্ন [1 ... lên (ইনপুট)] সঙ্গে bLR, তাহলে আমরা প্রতিটি উপাদান পুনরাবৃত্তি সীমার মধ্যে বার। অ্যাড ++ এ স্বয়ংক্রিয় ভেক্টরাইজেশন বিদ্যমান না থাকায় জোড়ার একটি তালিকা তৈরি করতে আমরা এটিকে নিজের সাথে জিপ করি । তারপরে আমরা জোড়গুলির উপরে পুনরাবৃত্তির সাথে স্টারম্যাপটি প্রয়োগ করি : তাদের একটি সমতল অ্যারে ( ) এ যুক্ত করার আগে।nndBcB][[1,1],[2,2]...[n,n]]£X¦Ω+

এরপরে, আমরা এই অ্যারেটিকে নকল করে সর্বাধিক, দ্বারা এটি টেবিল করি d‽b>। অর্থাৎ অ্যারের প্রতিটি উপাদান দ্বিতীয় অ্যারে থেকে একে অপরের উপাদানগুলির সাথে জুটিবদ্ধ হয় এবং ডায়াডিক সর্বাধিক কমান্ডটি জুটিটি চালিত হয়। [5 5] এর উদাহরণ ইনপুটের জন্য , এটি অ্যারে তৈরি করে [1 2 2 2 2 2 2 2 2] , যা অ্যারের সূচক হিসাবে মোজাইকের সমতল সংস্করণ। দুর্ভাগ্যবশত, যোগ ++, 0-সূচীবদ্ধ অ্যারে ব্যবহার করে, তাই আমরা একে উপাদান হ্রাস করা প্রয়োজন: 1€Ω_

তারপরে, আমরা ইনপুট তালিকায় সূচী করি, আবার ইনপুটটি চাপিয়ে ( A), যা আবার ইনপুটকে তালিকা হিসাবে গ্রহণ করে বাইটগুলি সংরক্ষণ করে। €Ω:যথাযথ দৈর্ঘ্যের টুকরোগুলিতে অ্যারে কাটার আগে তালিকার সাথে সূচক । যদি ইনপুটটিতে অঙ্কের সংখ্যাটি দ্বারা চিহ্নিত করা হয় তবে টুকরোটির আকারx

x(x1)2

অথবা ত্রিভুজাকার সংখ্যা । আমরা ইনপুটটির দৈর্ঘ্যকে ধাক্কা দিয়ে, 1 থেকে শুরু করে সেই মান পর্যন্ত ব্যাপ্তি গণনা করে যোগফল তৈরি করি । এখন, স্ট্যাক, একটি ইনপুট জন্য [6 5] , মনে হচ্ছে [[6 5 5 5 5 5 5 5 5 ] 3] । আকারের টুকরা অ্যারের চপ কিন্তু আর্গুমেন্ট তাই আমরা তাদের সাথে অদলবদল, ভুল অনুক্রমে বর্তমানে সামনে চপ এবং ফিরে ।xth AbLR¦+Tn$T


1

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

F⮌…LθUO⊕⊘×ι⁺³ι§θι

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

F⮌…Lθ

বিপরীত ক্রমে অক্ষরের সূচকগুলি লুপ করুন।

⊕⊘×ι⁺³ι

বর্গের আকার গণনা করুন।

UO...§θι

বর্তমান অক্ষরটি ব্যবহার করে বর্গাকার অঙ্কন করুন।




1

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

E⭆θ×⊕κι×⊕κι‖O↗

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

কিভাবে?

E⭆θ×⊕κι×⊕κι‖O↗ - implicitly print the result of...
E                - map:
  ⭆              -   over: string map:       
    θ             -     over: first input
     ×            -     using: repeat
        ι         -       what: ι (loop value)
      ⊕κ          -       by: incremented κ (loop counter)
         ×        -   using: repeat
            ι     -     what: ι (loop value)
          ⊕κ      -     by: incremented κ (loop counter)
             ‖O  - Reflect with overlap:
                ↗ -   direction: up-right

... এই পদ্ধতিটি গল্ফ করা যেতে পারে?


"... এই পদ্ধতিটি কি গল্ফ করা যায়?" এমনকি নীলের সমাধান দীর্ঘতর, তাই আমি এখানে কোনও আশা দেখছি না। : পি
এরিক আউটগল্ফার

×⊕κιদ্বিগুণ যদিও।
জোনাথন অ্যালান

জিনিসটি হ'ল, ভেরিয়েবলকে এটি নির্ধারণ করা সহজ নয়, যেহেতু loach লুপের প্রতিটি পুনরাবৃত্তির মান ιএবং κপরিবর্তন হয়।
এরিক আউটগল্ফার

এটি একটি ফাংশন হওয়া দরকার তবে এটি এমনকি সম্ভব কিনা তা আমি জানি না।
জোনাথন অ্যালান

জিজ্ঞাসা করার প্রশ্নটি 3 বা (বা 5, ফাংশনটি কীভাবে সংজ্ঞায়িত হয় তার উপর নির্ভর করে) বাইট বা তার চেয়ে কম ক্ষেত্রে সম্ভব কিনা। ;) (এর সুস্পষ্ট উত্তর অবশ্যই, না।)
এরিক দ্য আউটগোল্ফার

1

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

ü°√¿«│⌠º₧@\τ

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

এই অ্যালগরিদম ব্যবহার করে ।

ব্যাখ্যা:

c%R:BXm]i*xit+ Full program, implicit input
c%             Length of input
  R            1-based range
   :B          Repeat each element according to the range ("123" -> "122333")
     X         Save to X register
      m        Map:
       ]         Character -> string
        i*       Repeat by iteration index
          xit    Trim first <iteration index> elements from X
             +   Concatenate
                 Implicit output with newline

স্ট্যাক্স , 20 19 18 16 বাইট

ù↔‼i,ÑΓæ☺=╘‼æ↕4╝

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

ব্যাখ্যা:

c%R:BX%mYx%{y|Mvx@m Full program, implicit input
c%                  Length of input
  R                 1-based range
   :B               Repeat each element according to the range ("123" -> "122333")
     X              Save to X register
      %             Length
       m            Map over 1-based range:
        Y             Save index to Y register
         x%           Push length of X register
           {      m   Map over 1-based range:
            y|M         Maximum of both indices
               v        1-based -> 0-based (decrement)
                x@      Index into X register
                      Implicit output with newline

1

সহদূত 34 বাইট

{_[Table[Max,Flat!{_&_}=>1:#_]-1]}

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

ব্যাখ্যা

গ্যালেন ইভানভের জে উত্তরের অনুরূপ কাজ করে ।

{_[Table[Max,Flat!{_&_}=>1:#_]-1]}
{                                }   anonymous function: _ is input, array of digits
                                     example: _ := [2, 0, 3]
                         1:#_        the range 1 to Size[_]
                                     > e.g.: [1, 2, 3]
                  {   }=>            over each number N:
                   _&_                   map to N repeated N times
                                     > e.g.: [[1], [2, 2], [3, 3, 3]]
             Flat!                   flatten it
                                     > e.g.: [1, 2, 2, 3, 3, 3]
   Table[Max,                ]       create a "max" table with it
                                     > e.g.:
                                       1 2 2 3 3 3
                                       2 2 2 3 3 3
                                       2 2 2 3 3 3
                                       3 3 3 3 3 3
                                       3 3 3 3 3 3
                                       3 3 3 3 3 3
                              -1     subtract 1 from each
                                     > e.g.:
                                       0 1 1 2 2 2
                                       1 1 1 2 2 2
                                       1 1 1 2 2 2
                                       2 2 2 2 2 2
                                       2 2 2 2 2 2
                                       2 2 2 2 2 2
 _[                             ]    index the original array with this matrix
                                     > e.g.:
                                       2 0 0 3 3 3
                                       0 0 0 3 3 3
                                       0 0 0 3 3 3
                                       3 3 3 3 3 3
                                       3 3 3 3 3 3
                                       3 3 3 3 3 3



1

কিউব্যাসিক 1.1 , 127 বাইট

INPUT S$
FOR X=1TO LEN(S$)
K=K+X
R$=R$+STRING$(X,MID$(S$,X,1))
NEXT
FOR C=1TO K
?STRING$(C-1,MID$(R$,C,1))RIGHT$(R$,K-C+1)
NEXT

-4 DLosc ধন্যবাদ ।

এক্সনোর পাইথন 2 অ্যালগরিদমের পরিবর্তিত সংস্করণ ব্যবহার করে ।

ইনপুট একটি অব্যক্ত স্ট্রিং। আউটপুট \nঅতিরিক্ত স্থান বা \nগুলি ছাড়াই আলাদা করা হয় ।


1

কিউ বেসিক , 111 বাইট

একটি বেনামি ফাংশন যা কনসোলটিতে ইনপুট এবং আউটপুটগুলির জন্য অনুরোধ করে।

INPUT s$
n=LEN(s$)
FOR y=1TO n
FOR l=1TO y
?
FOR x=1TO n
z=x
IF y>x THEN z=y
?STRING$(x,MID$(s$,z));
NEXT x,l,y

দেখতে দুর্দান্ত - তবে আপনি কি "সম্পূর্ণ প্রোগ্রাম" মানে না? আমি মনে করি না কিউবাসিকের "বেনামে ফাংশন" রয়েছে।
DLosc

0

পিএইচপি 7.1 , 163 বাইট

যুক্তি হিসাবে সিএলআই নম্বরটি সরবরাহ করে:

<?foreach(str_split($argv[1])as$k=>$d)$a[]=array_fill(0,$s+=$k+1,array_fill(0,$s,$d));foreach(array_replace_recursive(...array_reverse($a))as$v)echo join($v)."\n";

এত গল্ফ নয়:

$n = 123;

foreach(str_split($n) as $k => $d) {
    $s += $k + 1;
    $a[] = array_fill(0, $s, array_fill(0, $s, $d));
}

foreach(array_replace_recursive(...array_reverse($a)) as $v)
    echo implode('', $v) . "\n";

আউটপুট:

122333
222333
222333
333333
333333
333333

পদ্ধতি:

মূলত অঙ্কটি সমন্বিত বহুমাত্রিক অ্যারে স্কোয়ারগুলি তৈরি করুন এবং তারপরে সেগুলি (অ্যারে_রেপসেস_সেসক্রিভিউ) সুপারমোজ করুন।

(হ্যাঁ, আমি জানি এটি বিব্রতকরভাবে দীর্ঘ)


যদি ইনপুটটি অঙ্কগুলির একটি পূর্ব নির্ধারিত অ্যারে হয়, এবং প্রতিধ্বনি ইমপ্লোড / জোনে অঙ্কের তালিকাটির তালিকাতে একটি নিয়োগের সাথে সরিয়ে / প্রতিস্থাপন করা হয়, তবে এটি প্রায় 119 বাইটে হ্রাস করা যায়, হ্যাঁ দীর্ঘ।
অগ্রগতি


0

জাপট, 12 বাইট

স্ট্রিং হিসাবে ইনপুট নেয়, স্ট্রিংগুলির একটি অ্যারের আউটপুট দেয়।

Ë+pE
¬£h°YçX

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


ব্যাখ্যা

            :Implicit input of string U
Ë           :Map each character D at 0-based index E
  pE        :  Repeat D E times
 +          :  Append to D
\n          :Reassign to U
¬           :Split to character array
 £          :Map each element X at 0-based index Y
   °Y       :  Increment Y
     çX     :  Repeat X Y times
  h         :  Replace the first Y characters in U with that


0

ভিজ্যুয়াল বেসিক। নেট (ভিবিসি) , 198 বাইট

একটি Subরুটিন যা STDIN এবং আউটপুটগুলি STDOUT এ নেয়।

কাজের জন্য স্ট্রডুপ পাওয়া যায়নি বলে মনে হচ্ছে: /

Module M
Sub Main
Dim c,s,n,l,x,y
s=Console.readLine()
n=Len(s)
For y=1To n
For l=1To y
For x=1To n
For c=1To x
Console.Write(Mid(s,IIf(x>y,x,y),1)&IIf(c=n,vbLf,""))
Next c,x,l,y 
End Sub
End Module

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


0

লুয়া, 149 140 বাইট

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

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

function(a)F,s=0,""for b=1,#a do s=s..a[b]:rep(b)end;for b=1,#a do io.write((s.."\n"):rep(b))F,z=F+b,a[b+1]or""s=z:rep(F)..s:sub(F+1)end end

Ungolfed:

G = function(p)
    F,s = 0,""
    for i=1,#p do
        s=s..p[i]:rep(i)
    end
    for i=1, #p do
        io.write((s.."\n"):rep(i))
        F,z = F+i, p[i+1]or""
        s = z:rep(F)..s:sub(F+1)
    end
end
-- allows to pass the argument list from stdin
-- example: {"1", "2", "3", "4", "5"}
G(load("return " .. io.read())())


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