এটি কেবল একটি ইনপুট-বাগ ছিল


17

আমার চালিয়ে যাওয়া এটি একটি বাগ চ্যালেঞ্জ ছিল:

ইনপুট:

সাদা-ফাঁকা জায়গা বা নতুন-লাইন ছাড়াই মুদ্রণযোগ্য ASCII অক্ষর সমন্বিত একটি স্ট্রিং।

আউটপুট:

প্রথমে ইনপুটটি প্যালিনড্রোমে রূপান্তরিত করে ইনপুটটি ফিরিয়ে আনুন এবং এটি নিজের আগে যুক্ত করে মাঝের চরিত্রটি বাদ দিয়ে (অর্থাত্ কোনও ইনপুট সহ 1234567890এটি হয়ে যাবে 0987654321234567890)।

এবং তারপরে এই পাঠ্যটি আউটপুট করুন:

0        9        8        7        6        5        4        3        2        1        2        3        4        5        6        7        8        9        0
         0       9       8       7       6       5       4       3       2       1       2       3       4       5       6       7       8       9       0
                  0      9      8      7      6      5      4      3      2      1      2      3      4      5      6      7      8      9      0
                           0     9     8     7     6     5     4     3     2     1     2     3     4     5     6     7     8     9     0
                                    0    9    8    7    6    5    4    3    2    1    2    3    4    5    6    7    8    9    0
                                             0   9   8   7   6   5   4   3   2   1   2   3   4   5   6   7   8   9   0
                                                      0  9  8  7  6  5  4  3  2  1  2  3  4  5  6  7  8  9  0
                                                               0 9 8 7 6 5 4 3 2 1 2 3 4 5 6 7 8 9 0
                                                                        0987654321234567890
                                                               0 9 8 7 6 5 4 3 2 1 2 3 4 5 6 7 8 9 0
                                                      0  9  8  7  6  5  4  3  2  1  2  3  4  5  6  7  8  9  0
                                             0   9   8   7   6   5   4   3   2   1   2   3   4   5   6   7   8   9   0
                                    0    9    8    7    6    5    4    3    2    1    2    3    4    5    6    7    8    9    0
                           0     9     8     7     6     5     4     3     2     1     2     3     4     5     6     7     8     9     0
                  0      9      8      7      6      5      4      3      2      1      2      3      4      5      6      7      8      9      0
         0       9       8       7       6       5       4       3       2       1       2       3       4       5       6       7       8       9       0
0        9        8        7        6        5        4        3        2        1        2        3        4        5        6        7        8        9        0

(উভয় দিকের মধ্যবর্তী বাহু থেকে প্রতিটি অক্ষর পূর্ববর্তী রেখার চেয়ে আরও একটি স্পেস দ্বারা পৃথক করা হয়েছে))

চ্যালেঞ্জ বিধি:

  • আপনাকে ইনপুটটির দৈর্ঘ্য দ্বিগুণ, বিয়োগ 3 লাইন প্রিন্ট করতে হবে। সুতরাং ইনপুট সহ 1234567890, উপরে প্রদর্শিত আউটপুটটি 17 লাইন (দৈর্ঘ্য 10 * 2 - 3)।
  • ইনপুটটিতে কেবল প্রিন্টযোগ্য এএসসিআইআই থাকবে (স্থান, ট্যাব এবং নতুন লাইন বাদে)।
  • চলার স্থানগুলি alচ্ছিক।
  • একটি একক নতুন নতুন পংক্তি optionচ্ছিক।
  • (অতিরিক্ত) নেতৃস্থানীয় স্পেস বা নতুন নতুন লাইনগুলিকে অনুমোদিত নয়।
  • আপনি ধরে নিতে পারেন ইনপুটটি সর্বদা কমপক্ষে চারটি অক্ষর দীর্ঘ হবে।
  • আমার মত নয় এটি কেবল একটি বাগ চ্যালেঞ্জ ছিল, ইনপুট এবং আউটপুট উভয় ফর্ম্যাটই নমনীয়। সুতরাং আপনাকে স্ট্রিং-অ্যারে, স্ট্রিং-তালিকা ইত্যাদি হিসাবে ফলাফল আউটপুট করার অনুমতি দেওয়া হয়

সাধারণ নিয়ম:

  • এটি , তাই বাইট জেতে সংক্ষিপ্ত উত্তর।
    কোড-গল্ফ ভাষাগুলি আপনাকে নন-কোডগলফিং ভাষার সাথে উত্তর পোস্ট করতে নিরুৎসাহিত করবেন না। 'যে কোনও' প্রোগ্রামিং ভাষার জন্য যতটা সম্ভব সংক্ষিপ্ত উত্তর নিয়ে আসার চেষ্টা করুন।
  • স্ট্যান্ডার্ড নিয়মগুলি আপনার উত্তরের জন্য প্রযোজ্য , সুতরাং আপনাকে সঠিক পরামিতি এবং রিটার্ন-টাইপ, সম্পূর্ণ প্রোগ্রাম সহ STDIN / STDOUT, ফাংশন / পদ্ধতি ব্যবহারের অনুমতি দেওয়া হবে। আপনার কল
  • ডিফল্ট লুফোলগুলি নিষিদ্ধ।
  • যদি সম্ভব হয় তবে আপনার কোডের জন্য একটি পরীক্ষার সাথে একটি লিঙ্ক যুক্ত করুন।
  • এছাড়াও, প্রয়োজন হলে একটি ব্যাখ্যা যোগ করুন।

পরীক্ষার কেস:

Input: 1234567890
Output:
0        9        8        7        6        5        4        3        2        1        2        3        4        5        6        7        8        9        0
         0       9       8       7       6       5       4       3       2       1       2       3       4       5       6       7       8       9       0
                  0      9      8      7      6      5      4      3      2      1      2      3      4      5      6      7      8      9      0
                           0     9     8     7     6     5     4     3     2     1     2     3     4     5     6     7     8     9     0
                                    0    9    8    7    6    5    4    3    2    1    2    3    4    5    6    7    8    9    0
                                             0   9   8   7   6   5   4   3   2   1   2   3   4   5   6   7   8   9   0
                                                      0  9  8  7  6  5  4  3  2  1  2  3  4  5  6  7  8  9  0
                                                               0 9 8 7 6 5 4 3 2 1 2 3 4 5 6 7 8 9 0
                                                                        0987654321234567890
                                                               0 9 8 7 6 5 4 3 2 1 2 3 4 5 6 7 8 9 0
                                                      0  9  8  7  6  5  4  3  2  1  2  3  4  5  6  7  8  9  0
                                             0   9   8   7   6   5   4   3   2   1   2   3   4   5   6   7   8   9   0
                                    0    9    8    7    6    5    4    3    2    1    2    3    4    5    6    7    8    9    0
                           0     9     8     7     6     5     4     3     2     1     2     3     4     5     6     7     8     9     0
                  0      9      8      7      6      5      4      3      2      1      2      3      4      5      6      7      8      9      0
         0       9       8       7       6       5       4       3       2       1       2       3       4       5       6       7       8       9       0
0        9        8        7        6        5        4        3        2        1        2        3        4        5        6        7        8        9        0

Input: ABCD
Output:
D  C  B  A  B  C  D 
   D C B A B C D
      DCBABCD
   D C B A B C D
D  C  B  A  B  C  D

Input: =>)}]
Output:
]   }   )   >   =   >   )   }   ]
    ]  }  )  >  =  >  )  }  ]
        ] } ) > = > ) } ]
            ]})>=>)}]
        ] } ) > = > ) } ]
    ]  }  )  >  =  >  )  }  ]
]   }   )   >   =   >   )   }   ]

Input: XXxxXX
Output:
X    X    x    x    X    X    X    x    x    X    X
     X   X   x   x   X   X   X   x   x   X   X
          X  X  x  x  X  X  X  x  x  X  X
               X X x x X X X x x X X
                    XXxxXXXxxXX
               X X x x X X X x x X X
          X  X  x  x  X  X  X  x  x  X  X
     X   X   x   x   X   X   X   x   x   X   X
X    X    x    x    X    X    X    x    x    X   X

প্রতিটি লাইনে সমান পরিমাণ নেতৃস্থানীয় স্পেস রয়েছে?
অ্যাডম

@ অ্যাডাম দুঃখিত তবে না যেকোন সংখ্যক ট্রেলিং স্পেস ভাল, তবে শীর্ষস্থানীয় স্থান নেই। আমি এই নিয়মটি চ্যালেঞ্জের মধ্যে উল্লেখ করব।
কেভিন ক্রুইজসেন

2
"আপনাকে ইনপুট বিয়োগ 3 লাইনের দৈর্ঘ্য মুদ্রণ করতে হবে।" তারপরে "(দৈর্ঘ্য 10 * 2 - 3)"। প্রথম বাক্যটি "নো ডাবল" বলে, দ্বিতীয়টি "ডাবল" বলে। তাহলে এটি কোনটি?
অলিভিয়ের গ্রাগোয়ার

@ OlivierGrégoire ওহো, প্রথম লাইন দৈর্ঘ্য 2x অন্তর্ভুক্ত করা উচিত ছিল মাইনাস 3. ফিক্সড
কেভিন Cruijssen

উত্তর:


5

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

E⁻Lθ¹⪫θ× ι‖O←↑

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

এবং AST:

Program
├Print
│└E: Map
│ ├⁻: Difference
│ │├L: Length
│ ││└θ: Identifier θ
│ │└1: Number 1
│ └⪫: Join
│  ├θ: Identifier θ
│  └×: Product
│   ├' ': String ' '
│   └ι: Identifier ι
└‖O: Reflect overlap
 └Multidirectional
  ├←: Left
  └↑: Up

16 কোডপয়েন্ট হতে পারে, তবে ইউটিএফ -8 পাইথন 3 হিসাবে জানা গেছে যে এটি 41 বাইট। আপনি 16 টি বাইট তৈরি করতে কোন চরসেট ব্যবহার করেন?
জানুস ট্রয়লসেন

@ জনুস ট্রেলসন এটি একটি কাস্টম চরসেট।
এরিক আউটগল্ফার

হু, ings স্ট্রিংয়ের কাজ করে? অবশ্যই এটি পরবর্তী বারের জন্য মনে রাখতে হবে ...
নীল

@ নীল হ্যাঁ এটি কী বোঝায়?
এরিক আউটগল্ফার

প্রযুক্তিগতভাবে আপনার সম্পাদনা নন-কেপেটিং কারণ প্রাসঙ্গিক প্রতিশ্রুতি চ্যালেঞ্জ পোস্ট করার পরে।
নিল

7

জাপট , 22 21 বাইট

¬Å£¬qYîÃy w ê y w ê ·

এটি অনলাইন পরীক্ষা!

ব্যাখ্যা

প্রথম 8 বাইট প্যাটার্নের নীচে-ডান চতুষ্কোণ উত্পন্ন করে:

 ¬ Å  £    ¬ qYîÃ
Uq s1 mXY{Uq qYî} 

Uq                 : Split the input into characters.
   s1              : Slice off the first.
      mXY{      }  : Map each item X and index Y to
          Uq       :   the input split into chars,
             q     :   joined with
              Yî   :     Y spaces.

এই মুহুর্তে আমরা যেমন একটি অ্যারে আছে ["ABCD", "A B C D", "A B C D"]। দুর্ভাগ্যক্রমে, এটি স্কোয়ার করতে 13 বাইট লাগে:

y w ê y w ê ·
y w ê y w ê qR
y                : Pad each line to the same length with spaces and transpose.
  w              : Reverse the array, and
    ê            : palindromize. Now we have the bottom half of the output transposed.
      y          : Transpose back.
        w ê      : Reverse and palindromize again, giving the full output.
            qR   : Join with newlines.
                 : Implicit: output result of last expression

ইচ্ছে করে আমি ট্রান্সপোজ ব্যবহার করার কথা ভেবেছি - সুন্দরভাবে সম্পন্ন করেছি :)
শেগি

আমি কি এমন প্রশ্ন জিজ্ঞাসা করতে পারি যার উত্তর জানার জন্য আমি ভীত? আপনি এবং এখানে বাকিরা কি আসলে এটির সংক্ষিপ্ত সংস্করণে কোডিং করছেন?
gdbj

যদি তোমার সাহস থাকে. সম্ভবত না.
ক্যালকুলেটরফলাইন

1
@ জিডিবিজে আমি সাধারণত করি ... এটি কি খারাপ চিহ্ন? : পি
ইটিএইচ প্রোডাকশনগুলি

@ ইথ প্রডাকশনগুলি কেবল একজন বন্ধুকে বলছিল যে এটি বাস্তব গল্ফের সাথে সমান: শিখতে হতাশ, অদ্ভুতভাবে আসক্তি এবং এতে দক্ষতা প্রদর্শন সম্মানকে নির্দেশ করে।
gdbj

5

আপনি প্রতিস্থাপন পর এক বাইট সংরক্ষণ করতে পারবেন .c.∊সঙ্গেû.c
kalsowerus

@ ক্যালসওয়ারাস এবং আমি জানতাম যে ব্যবহারের কিছু উপায় থাকবে û... ধন্যবাদ!
এরিক আউটগল্ফার

5

জাভাস্ক্রিপ্ট (ES6) , 159 136 129 127 বাইট

f=(i,x=1-(l=i.length-1),y=x<0?-x:x,[,...b]=i)=>l>x?''.padEnd(l*(l+~y))+[...b.reverse(),...i].join(''.padEnd(y))+`
`+f(i,x+1):''

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

// This is a recursive function
// First, inputs and various variable initializations
// by using defaults
let func = (
  // Text input, will not be modified through recursion
  input,

  // Current line, for the first function call we start from -lines to +lines
  // It's roughly equivalent to lines*2 but this helps us computing the spacing
  // Also computing the total amount of lines
  currentLine = 1 - (totalLines = input.length - 1),

  // Getting the absolute value of the current line (like Math.floor)
  absCurrentLine = currentLine < 0 ? -currentLine : currentLine,

  // Getting the input without it's first letter, useful for the palidrome of the input
  [,...slicedInput] = input

// Base case, stopping the recursion if the current line
// is still below the total amount of lines
) => totalLines > currentLine

  // Leading spacing
  ? ''.padEnd(totalLines * (totalLines + ~absCurrentLine)) + 

  // Putting together the palindrome version and adding spaces between the chars
    [...slicedInput.reverse(), ...input].join(''.padEnd(absCurrentLine)) + `

  // Line return + recursion call
` + f(input, currentLine + 1)
  : ''

কোডগল্ফে প্রথম প্রবেশ, আমি যে কোনও সুস্পষ্ট ভুলের জন্য আগেই ক্ষমা চাইছি।

23 বাইট সংরক্ষণের জন্য জাস্টিন মেরিনারকে ধন্যবাদ! 11 বাইট সংরক্ষণ এবং বাগ প্রতিবেদনের জন্য ক্রেগ আয়রাকে ধন্যবাদ।


ভাল উত্তর, আমার কাছ থেকে +1 এবং পিপিসিজিতে স্বাগতম। আমি জাসের সাথে খুব বেশি পরিচিত নই, তবে কি x-1 এর পরিবর্তে -2 এ শুরু করা এবং এমন পরিবর্তন x<=lকরা সম্ভব ++x<=lযাতে আপনি x++বাইটটি সরিয়ে এবং বাইট সংরক্ষণ করতে পারবেন ?
কেভিন ক্রুইজসেন

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

1
পিপিসিজিতে স্বাগতম, চমৎকার প্রথম পোস্ট এবং ব্যাখ্যা! এখানে 133 বাইট নিচে গল্ফ হয়েছে । কী পরিবর্তন হয়েছিল তার ব্যাখ্যাও অন্তর্ভুক্ত।
জাস্টিন মেরিনার

দুর্ভাগ্যক্রমে আপনার আউটপুটটি প্রত্যাশিত আউটপুটটির সাথে বেশ মিলছে না: এখানে দেখুন
ক্রেগ আয়রে

1
এই মহান, আমি আপনার নতুন ফাংশন জুড়েছে এবং ব্যাখ্যা আপডেট
Saming

4

এসওজিএল ভি0.12 , 22 18 বাইট

ā,⁄H{,čFH@*∑Κ}▓±╬-

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

ব্যাখ্যা:

ā                   push an empty array - canvas
 ,⁄H{        }      input length-1 times do
     ,                push the input
      č               chop it into chars
       FH@*           get the current iteration-1 amount of spaces
           ∑          join the chopped input with the spaces
            Κ         prepend it to the array
              ▓     space to a square
               ±    reverse each string in that list
                ╬-  quad-palindromize with 1 X and 1 Y overlap and without swapping characters

কি ╬-চার উপায় palindromize কমান্ড? আমি এখানে এসেছি ইচ্ছে করে জাপানের এমন কিছু হয়েছিল ...: পি
ইটিএইচ প্রডাকশনস

@ETHproductions FWIW, হয় অনেক কিছু
dzaima

আমি জানি, তাই কেন আমি নির্দিষ্ট করেছি ╬-। তবে ধন্যবাদ, আমি কোনও কারণে সেই পৃষ্ঠাটি খুঁজে
পাইনি

পছন্দ করুন এটি কেবলমাত্র দোভাষীর SOGLOnline অনুলিপিটিতে উপস্থিত রয়েছে: / কোনও সময়ে আমাকে দুজনকে এক সাথে যোগ দিতে হবে: |
ডিজাইমা

হুম ... আপনার প্রয়োজনের Fজন্য এটি স্বয়ংক্রিয়ভাবে প্রয়োগ করা উচিত ।
এরিক আউটগল্ফার

4

পাইথন 3 , 149 141 95 বাইট

def f(s):l=len(s)-1;[print((' '*abs(i)).join(s[:0:-1]+s).center(2*l*l+1))for i in range(1-l,l)]

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

কিছু বাইট সংরক্ষণ করার জন্য @ কেভিন ক্রুজসেন এবং @ ইটিএইচ প্রডাকশনগুলিকে ধন্যবাদ

46 নোট সংরক্ষণ করার জন্য @ ননতজাগানকে বিশেষ ধন্যবাদ!


1
পরিবর্তন l=len(s);করার জন্য l=len(s)-1;এবং তারপর জড়িত সব মান পরিবর্তন l(যেমন l-1-> l; -l+2-> -l+1; ইত্যাদি) 8 খাটো বাইট। এখানে চেষ্টা করুন।
কেভিন ক্রুইজসেন


ধন্যবাদ কেভিন ক্রুজসেন, দুর্ভাগ্যক্রমে আমি এখনই সম্পাদনা করতে পারছি না, আপনি কি দয়া করে এডিট করতে পারবেন?
মিঃ এক্সকোডার

@ কেভিন ক্রুজসেন অনেক ধন্যবাদ!
মিঃ এক্সকডার

3
নিচে থেকে 95 বাইট ব্যবহার centerপরিবর্তে forলুপ!
notjagan

4

পিএইচপি, 145 131 বাইট

এটি অতিরিক্ত বাইট গল্ফ নিয়ে কিছুটা ভাবনা নিয়েছিল; কিন্তু এটার মূল্য ছিল.

while($y<=2*$e=strlen($a=$argn)-1)echo($p=str_pad)("
",$e*($e-$d=abs($y++-$e))+1),chunk_split($a.substr(strrev($a),1),1,$p("",$d));

একটি শীর্ষস্থানীয় নিউলাইন প্রিন্ট করে। পাইপ হিসাবে চালান-nRবা করুন এটি অনলাইনে চেষ্টা করুন

ভাঙ্গন

while($y<=2*$e=strlen($a=$argn)-1)  # $e=length-1, loop through rows
                                        # 1. print linebreak and left padding
    echo($p=str_pad)("\n",$e*($e-$d=abs($y++-$e))+1),
        chunk_split(
            $a.substr(strrev($a),1)     # 2. palindromize input
            ,1,$p("",$d));              # 3. insert $e..0..$e spaces between characters

বিকল্প সমাধান , একই দৈর্ঘ্য:

for($d=-$e=strlen($a=$argn)-1;$d<$e;)echo($p=str_pad)("
",$e*($e-$b=abs($d++))+1),chunk_split($a.substr(strrev($a),1),1,$p("",$b));


3

এপিএল (ডায়ালগ) , 37 বাইট

প্রয়োজন ⎕IO←0অনেক সিস্টেমে পূর্বনির্ধারিত।

{⍉m(2-d)↓⍉(m←⊖⍪1↓⊢)↑∊¨(1↓⍳d←≢⍵)↑¨¨⊂⍵}

{} বেনামে ফাংশন যেখানে আর্গুমেন্টটি represented দ্বারা প্রতিনিধিত্ব করে

(... )↑¨¨⊂⍵ জন্য প্রতিটি ( ¨নিম্নলিখিত সংখ্যার) নিতে ( ) যে অনেক অক্ষর থেকে প্রতিটি ( ¨সম্পূর্ণ (এর) ) যুক্তি, প্রয়োজনীয় হিসাবে ব্যবধান সহ প্যাডিং:

  ≢w তর্কের অক্ষরের সংখ্যা

  d←ডি  যে সঞ্চয়

   অনেকগুলি ডিডিস (0… ডি - 1)

  1↓ একটি বাদ দিন (শূন্য)

∊¨ε nlist (চেপ্টা) প্রতিটি

 পদমর্যাদা বৃদ্ধি করুন (তালিকাগুলির তালিকাকে ম্যাট্রিক্সে রূপান্তর করুন)

(m←... ) প্রযোজ্য নিম্নলিখিত মৌন ফাংশন মিটার , হিসাবে সংজ্ঞায়িত:

   উল্টো তর্ক

   উপরে

  1 এক [সারি]

   থেকে বাদ

   যুক্তি

 TRANSPOSE

()↓ ড্রপ:

  2-d = - ( ডি - 2), অর্থাৎ নীচে থেকে ডি - 2 সারি

m প্রয়োগ এম

 TRANSPOSE

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


3

জাভা (ওপেনজেডিকে 8) , 201 196 বাইট

s->{for(int l=s.length()-1,i=-l,x=0;++i<l;x+=i<0?l:-l)System.out.printf("%1$"+(x<1?"":x)+"s"+s.join("%1$"+(i<0?-i:i>0?i:"")+"s",(new StringBuffer(s.substring(1)).reverse()+s).split(""))+"%n","");}

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

পূর্ববর্তী চ্যালেঞ্জের জন্য আমি যেটি ব্যবহার করেছি এটি একই ধারণা , জেনারেটরের স্ট্রিংটি এখন একটি দীর্ঘতর এবং কেসগুলি পরিচালনা করতে আরও কঠোর।

%1$Ns0%1$Ns9%1$Ns8%1$Ns7%1$Ns6%1$Ns5%1$Ns4%1$Ns3%1$Ns2%1$Ns1%1$Ns2%1$Ns3%1$Ns4%1$Ns5%1$Ns6%1$Ns7%1$Ns8%1$Ns9%1$Ns0%n

3

পাইথন 3 , 134 124 বাইট

f=lambda s:'\n'.join([' '*(len(s)-1)*abs(len(s)-abs(i)-2)+(' '*abs(i)).join(s[::-1]+s[1:]) for i in range(2-len(s),len(s)-1)])

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

কিছুক্ষণ লুকোচুরি করার পরে পিপিসিজিতে প্রথম পোস্ট করুন। কোন পরামর্শ / পরামর্শ খুঁজছেন!


উন্নতির জন্য @ লিরিকলাই এবং @ ইউকাসজ রোগালস্কিকে ধন্যবাদ!


1
আপনাকে ফাংশনের অভ্যন্তরে আউটপুট প্রিন্ট করতে হবে না, আউটপুটটি কোনও ফিরতি মূল্যে দেওয়া যেতে পারে। এছাড়াও, আপনাকে f=বাইটাউন্টে গণনা করতে হবে না , কেবল একটি বেনামি ফাংশন সরবরাহ করা ভাল।
LyricLy

1
এছাড়াও, -len(s)+2ঠিক 2-len(s), একটি কম বাইট
asukasz Rogalski

আপনাকে ধন্যবাদ @ ইউকাসজ রোগালস্কি এবং @ লিরিকলাই; আপনি আমাকে 10 বাইট সংরক্ষণ করেছেন!
চেজ ভোগেলি

3

হাস্কেল, 177 163 বাইট

import Data.List
k n=[1..n]>>" "
f s=let n=length s in map(\x->(k(((n-1)*(n-(abs x)))))++(intercalate (k(abs x))$map(\z->[z])$((++)=<<reverse.tail) s))[n,n-1.. -n]

ফাংশনটি fহ'ল চ্যালেঞ্জ ফাংশন এবং স্ট্রিংগুলির একটি তালিকা ফেরত দেয় ( [String]) unlinesএটি ব্যবহার করে পরীক্ষার কেসের মতো একই ভিজ্যুয়াল আউটপুট সরবরাহ করা উচিত ( main = putStr $ unlines $ f "test string"এটি সংকলন করতে)।

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

-14 বাইটস @ নিমিকে ধন্যবাদ


1
kহিসাবে k n=[1..n]>>" "এবং pহিসাবে সংজ্ঞায়িত করা যেতে পারে p=(++)=<<reverse.tail(আপনি এমনকি এই সংজ্ঞাটি ইনলাইন করতে পারেন)।
নিমি

2

গণিত, 141 বাইট

Column[Join[Reverse@(s=Row/@Table[Riffle[Reverse@Rest@b~Join~b,""<>Table[" ",i]],{i,0,Length[b=Characters@#]-1}]),Rest@s],Alignment->Center]&
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.