একটি বর্ণমালা পিরামিড তৈরি করুন


19

আজ আমরা চিঠিপত্রের বাইরে একটি পিরামিড তৈরি করতে যাচ্ছি! প্রথম 5 টি বর্ণের জন্য এখানে একটি উদাহরণ চিঠি পিরামিড:

  1. প্রথমে আরোহণ এবং তার পরে অবতরণের মধ্যবর্তী স্থান সহ প্রথম 5 টি অক্ষর লিখুন।

    A B C D E D C B A
    
  2. উপরের লাইনে প্রথম চারটি অক্ষরের জন্য একই জিনিস করুন, তবে দুটি অতিরিক্ত নেতৃস্থানীয় স্পেস সহ:

      A B C D C B A
    A B C D E D C B A
    
  3. শেষ লাইনটি কেবল 'এ' না হওয়া পর্যন্ত একই পদক্ষেপটি পুনরাবৃত্তি করুন

            A 
          A B A
        A B C B A
      A B C D C B A
    A B C D E D C B A
    
  4. উপরে যাওয়ার পরিবর্তে নীচে গিয়ে দুই এবং তিনটি ধাপ পুনরাবৃত্তি করুন:

            A 
          A B A
        A B C B A
      A B C D C B A
    A B C D E D C B A
      A B C D C B A
        A B C B A
          A B A
            A 
    

এই একই প্যাটার্নটি 26 টি অক্ষর পর্যন্ত বাড়ানো যেতে পারে। আপনার চ্যালেঞ্জটি হ'ল এমন একটি প্রোগ্রাম বা ফাংশন লিখুন যা কোনও পূর্ণসংখ্যাকে ইনপুট হিসাবে গ্রহণ করে এবং সংশ্লিষ্ট চিঠি পিরামিড উত্পাদন করে। আপনি বড় হাতের বা ছোট হাতের অক্ষর ব্যবহার করতে বেছে নিতে পারেন। আপনি সর্বদা অনুমান করতে পারেন যে ইনপুটটি একটি পূর্ণসংখ্যা হবে [1, 26]এবং আউটপুট 2 ডি স্ট্রিংয়ের জন্য কোনও যুক্তিসঙ্গত বিন্যাস হতে পারে। উদাহরণস্বরূপ, এটিতে নতুন লাইনের সাথে একটি স্ট্রিং, অক্ষরের একটি অ্যারে, কোনও ফাইলের মুদ্রণ ইত্যাদি Each

এখানে কিছু উদাহরণ ইনপুট / আউটপুট রয়েছে:

1:

A

2:

  A
A B A
  A

3:

    A
  A B A
A B C B A
  A B A
    A

5:
        A 
      A B A
    A B C B A
  A B C D C B A
A B C D E D C B A
  A B C D C B A
    A B C B A
      A B A
        A 

13:


                        A
                      A B A
                    A B C B A
                  A B C D C B A
                A B C D E D C B A
              A B C D E F E D C B A
            A B C D E F G F E D C B A
          A B C D E F G H G F E D C B A
        A B C D E F G H I H G F E D C B A
      A B C D E F G H I J I H G F E D C B A
    A B C D E F G H I J K J I H G F E D C B A
  A B C D E F G H I J K L K J I H G F E D C B A
A B C D E F G H I J K L M L K J I H G F E D C B A
  A B C D E F G H I J K L K J I H G F E D C B A
    A B C D E F G H I J K J I H G F E D C B A
      A B C D E F G H I J I H G F E D C B A
        A B C D E F G H I H G F E D C B A
          A B C D E F G H G F E D C B A
            A B C D E F G F E D C B A
              A B C D E F E D C B A
                A B C D E D C B A
                  A B C D C B A
                    A B C B A
                      A B A
                        A


26:

                                                  A
                                                A B A
                                              A B C B A
                                            A B C D C B A
                                          A B C D E D C B A
                                        A B C D E F E D C B A
                                      A B C D E F G F E D C B A
                                    A B C D E F G H G F E D C B A
                                  A B C D E F G H I H G F E D C B A
                                A B C D E F G H I J I H G F E D C B A
                              A B C D E F G H I J K J I H G F E D C B A
                            A B C D E F G H I J K L K J I H G F E D C B A
                          A B C D E F G H I J K L M L K J I H G F E D C B A
                        A B C D E F G H I J K L M N M L K J I H G F E D C B A
                      A B C D E F G H I J K L M N O N M L K J I H G F E D C B A
                    A B C D E F G H I J K L M N O P O N M L K J I H G F E D C B A
                  A B C D E F G H I J K L M N O P Q P O N M L K J I H G F E D C B A
                A B C D E F G H I J K L M N O P Q R Q P O N M L K J I H G F E D C B A
              A B C D E F G H I J K L M N O P Q R S R Q P O N M L K J I H G F E D C B A
            A B C D E F G H I J K L M N O P Q R S T S R Q P O N M L K J I H G F E D C B A
          A B C D E F G H I J K L M N O P Q R S T U T S R Q P O N M L K J I H G F E D C B A
        A B C D E F G H I J K L M N O P Q R S T U V U T S R Q P O N M L K J I H G F E D C B A
      A B C D E F G H I J K L M N O P Q R S T U V W V U T S R Q P O N M L K J I H G F E D C B A
    A B C D E F G H I J K L M N O P Q R S T U V W X W V U T S R Q P O N M L K J I H G F E D C B A
  A B C D E F G H I J K L M N O P Q R S T U V W X Y X W V U T S R Q P O N M L K J I H G F E D C B A
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z Y X W V U T S R Q P O N M L K J I H G F E D C B A
  A B C D E F G H I J K L M N O P Q R S T U V W X Y X W V U T S R Q P O N M L K J I H G F E D C B A
    A B C D E F G H I J K L M N O P Q R S T U V W X W V U T S R Q P O N M L K J I H G F E D C B A
      A B C D E F G H I J K L M N O P Q R S T U V W V U T S R Q P O N M L K J I H G F E D C B A
        A B C D E F G H I J K L M N O P Q R S T U V U T S R Q P O N M L K J I H G F E D C B A
          A B C D E F G H I J K L M N O P Q R S T U T S R Q P O N M L K J I H G F E D C B A
            A B C D E F G H I J K L M N O P Q R S T S R Q P O N M L K J I H G F E D C B A
              A B C D E F G H I J K L M N O P Q R S R Q P O N M L K J I H G F E D C B A
                A B C D E F G H I J K L M N O P Q R Q P O N M L K J I H G F E D C B A
                  A B C D E F G H I J K L M N O P Q P O N M L K J I H G F E D C B A
                    A B C D E F G H I J K L M N O P O N M L K J I H G F E D C B A
                      A B C D E F G H I J K L M N O N M L K J I H G F E D C B A
                        A B C D E F G H I J K L M N M L K J I H G F E D C B A
                          A B C D E F G H I J K L M L K J I H G F E D C B A
                            A B C D E F G H I J K L K J I H G F E D C B A
                              A B C D E F G H I J K J I H G F E D C B A
                                A B C D E F G H I J I H G F E D C B A
                                  A B C D E F G H I H G F E D C B A
                                    A B C D E F G H G F E D C B A
                                      A B C D E F G F E D C B A
                                        A B C D E F E D C B A
                                          A B C D E D C B A
                                            A B C D C B A
                                              A B C B A
                                                A B A
                                                  A

সর্বদা হিসাবে, এটি তাই মানক লুফোলগুলি প্রয়োগ হয় এবং বাইটের মধ্যে সংক্ষিপ্ত উত্তরটি জিততে পারে!


3
সম্পর্কিত - কিছুটা আলাদা
চরিত্রের

1
@ স্টিভিগ্রিফিন না, স্পেসগুলি সেখানে কোনওভাবেই হওয়া উচিত।
ডিজেএমসিএমহেম

4
এই পৃষ্ঠাটি স্ক্রোলিং 26 আউটপুট জন্য একটি ঝরঝরে অপটিক্যাল বিভ্রম উত্পাদন করে।
কোবল্টডাক্ক

উত্তর:


7

পাইথন, 184 174 169 বাইট

R=range
def g(a):
 def f(x,y,z):
  for i in R(x,y,z):print "  "*(i-1)," ".join([chr(65+j) for j in R((a-i))]+[chr(65+(a-i-2)-j) for j in R((a-i-1))])
 f(a,0,-1);f(2,a,1)

সম্পাদনা করুন: @ nedla2004 ধন্যবাদ 5 বাইট সংরক্ষণ করা


আমি দুটি জিনিস দেখছি যা পরিবর্তিত হতে পারে। 1.) আপনি gতিনটি লাইন লাগাতে পারেন । ২) rangeভেরিয়েবলকে বরাদ্দ করুন । আপনি উভয় এখানে দেখতে পারেন । (দ্রষ্টব্য: def f(x,y,z):কোনও স্থান থাকার আগে forলুপের আগে একটি ট্যাব রয়েছে
nedla2004

আপনি rangeপ্রতিস্থাপন করতে পারেন এমন 3 টি নেই?
nedla2004

আপনি চালু করার মাধ্যমে 4 বাইট সংরক্ষণ করতে পারবেন R((a-i))মধ্যে R(a-i)এবং R((a-i-1))মধ্যে R(a-i-1), আপনি না করতে পারেন?
L3viathan

2 টি শূন্যস্থান রয়েছে যা forতালিকার বোধগমের ভিতরে লুপগুলির আগে থেকে সরানো যেতে পারে ।
Yytsi

একটি অকেজো সাদা জায়গা পরে print
Yytsi

6

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

কোড:

A.ps£û€û€S».c

ব্যাখ্যা:

A.p             # Push all prefixes of the alphabet.
   s£           # Only get the first input elements.
     û          # Palindromize, turns ['a', 'ab', 'abc'] -> ['a', 'ab', 'abc', 'ab', 'a']
      €û        # Palindromize each, turns ['a', 'ab', 'abc', 'ab', 'a']
                  into... ['a', 'aba', 'abcba', 'aba', 'a']
        €S      # Split each element.
          »     # Gridify, joins the arrays be newlines and the arrays in the arrays 
                  by spaces.
           .c   # Centralize, aligning the text to the center.

সিপি -1222 এনকোডিং ব্যবহার করে । এটি অনলাইন চেষ্টা করুন!


সুতরাং এই তথ্যটিই "সেন্ট্রালাইজড" বলতে বোঝায়! উপায় দ্বারা দুর্দান্ত সমাধান।
ব্যবহারযোগ্য

@ সম্ভাব্য ইয়েপ, এটিতে নতুন লাইনের সাথে স্ট্রিংয়ের জন্যও কাজ করে (কেবল অ্যারে পরিবর্তে)।
আদনান

5

এমএটিএল , 25 24 বাইট

Zv&+64+G-t64>*1&!t0*hTec

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

দীর্ঘতর বিকল্প:

  • 1Y20hiZv&+G-t0>*1&!t0*hTe) (২ by বাইট)
  • Zv&+64+G-t64>*l2&Y"tZyP:o*c (২ by বাইট)

ব্যাখ্যা

         % Implicit input 
Zv       % Symmetric range. For input 3 it gives [1 2 3 2 1]
&+       % Matrix of all pairwise additions. For input 3 it gives a 5×5 matrix
64+G     % Add 64 and subtract input. This gives the desired ASCII codes in the
         % central rhombus 
t64>*    % Make values less than 65 equal to 0. This affects entries outside the
         % central rhombus 
1&!      % Permute second and third dimensions. Transforms the 5×5 matrix into
         % a 5×1×5 array
t0*      % Push a copy of that array with all entries equal to 0
h        % Concatenate along the second dimension. Gives a 5×2×5 array
Te       % Collapse the second and third dimensions. Gives a 5×10 matrix
c        % Convert to char. Char zero is displayed as space
         % Implicit display

4

ভি , 45 বাইট

i¬A[À|lDybA"Ó./& 
òÄó¨á© á úe± 
>>.YGp{òd

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

এই হচ্ছে শেষ পর্যন্ত পথ কম golfy চেয়ে আমি ভেবেছিলাম, তাই আমি এখনো একটি ব্যাখ্যা পোষ্ট করতে যাচ্ছি না। আশা করি আমি প্রথমে আরও কিছুটা ঝরিয়ে ফেলতে পারি। যথারীতি এখানে একটি হেক্সডাম্প রয়েছে:

0000000: 69ac 415b 1bc0 7c6c 4479 6241 1f12 221b  i.A[..|lDybA..".
0000010: d32e 2f26 200a f2c4 f3a8 e1a9 20e1 20fa  ../& ....... . .
0000020: 65b1 200a 3e3e 2e59 4770 7bf2 64         e. .>>.YGp{.d

4

জে, 34 বাইট

(' ',u:65+i.26){~0>.]-[:+/~|@i:@<:

নম্বরটি ইনপুট হিসাবে নেয় এবং একটি 2D বর্ণচিহ্ন অ্যারে দেয়।

ব্যাখ্যা

(' ',u:65+i.26){~0>.]-[:+/~|@i:@<:  input y
                                <:  y - 1
                             i:     "steps" -- i:2 -> -2 1 0 1 2
                           |        absolute value
                        +/~         addition table
                      [:            join right two tines into a conjunction
                    ]-              y - this table
                 0>.                max(0, that)
(' ',u:65+i.26)                     the alphabet preceded by a space
               {~                   index

পচা টেস্ট কেস

   n =: 5
   <: n
4
   i: <: n
_4 _3 _2 _1 0 1 2 3 4
   | i: <: n
4 3 2 1 0 1 2 3 4
   +/~ | i: <: n
8 7 6 5 4 5 6 7 8
7 6 5 4 3 4 5 6 7
6 5 4 3 2 3 4 5 6
5 4 3 2 1 2 3 4 5
4 3 2 1 0 1 2 3 4
5 4 3 2 1 2 3 4 5
6 5 4 3 2 3 4 5 6
7 6 5 4 3 4 5 6 7
8 7 6 5 4 5 6 7 8
   n - +/~ | i: <: n
_3 _2 _1 0 1 0 _1 _2 _3
_2 _1  0 1 2 1  0 _1 _2
_1  0  1 2 3 2  1  0 _1
 0  1  2 3 4 3  2  1  0
 1  2  3 4 5 4  3  2  1
 0  1  2 3 4 3  2  1  0
_1  0  1 2 3 2  1  0 _1
_2 _1  0 1 2 1  0 _1 _2
_3 _2 _1 0 1 0 _1 _2 _3
   0 >. n - +/~ | i: <: n
0 0 0 0 1 0 0 0 0
0 0 0 1 2 1 0 0 0
0 0 1 2 3 2 1 0 0
0 1 2 3 4 3 2 1 0
1 2 3 4 5 4 3 2 1
0 1 2 3 4 3 2 1 0
0 0 1 2 3 2 1 0 0
0 0 0 1 2 1 0 0 0
0 0 0 0 1 0 0 0 0
   u:65
A
   i.26
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
   65+i.26
65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90
   u:65+i.26
ABCDEFGHIJKLMNOPQRSTUVWXYZ
   ' ',u:65+i.26
 ABCDEFGHIJKLMNOPQRSTUVWXYZ
   (' ',u:65+i.26) {~ 0 >. n - +/~ | i: <: n
    A
   ABA
  ABCBA
 ABCDCBA
ABCDEDCBA
 ABCDCBA
  ABCBA
   ABA
    A

এর ইনপুট দিয়ে চেষ্টা করুন 5

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

   f =: (' ',u:65+i.26){~0>.]-[:+/~|@i:@<:
   f 1
A
   f 2
 A
ABA
 A
   f 3
  A
 ABA
ABCBA
 ABA
  A
   f 4
   A
  ABA
 ABCBA
ABCDCBA
 ABCBA
  ABA
   A
   f 5
    A
   ABA
  ABCBA
 ABCDCBA
ABCDEDCBA
 ABCDCBA
  ABCBA
   ABA
    A
   f 26
                         A
                        ABA
                       ABCBA
                      ABCDCBA
                     ABCDEDCBA
                    ABCDEFEDCBA
                   ABCDEFGFEDCBA
                  ABCDEFGHGFEDCBA
                 ABCDEFGHIHGFEDCBA
                ABCDEFGHIJIHGFEDCBA
               ABCDEFGHIJKJIHGFEDCBA
              ABCDEFGHIJKLKJIHGFEDCBA
             ABCDEFGHIJKLMLKJIHGFEDCBA
            ABCDEFGHIJKLMNMLKJIHGFEDCBA
           ABCDEFGHIJKLMNONMLKJIHGFEDCBA
          ABCDEFGHIJKLMNOPONMLKJIHGFEDCBA
         ABCDEFGHIJKLMNOPQPONMLKJIHGFEDCBA
        ABCDEFGHIJKLMNOPQRQPONMLKJIHGFEDCBA
       ABCDEFGHIJKLMNOPQRSRQPONMLKJIHGFEDCBA
      ABCDEFGHIJKLMNOPQRSTSRQPONMLKJIHGFEDCBA
     ABCDEFGHIJKLMNOPQRSTUTSRQPONMLKJIHGFEDCBA
    ABCDEFGHIJKLMNOPQRSTUVUTSRQPONMLKJIHGFEDCBA
   ABCDEFGHIJKLMNOPQRSTUVWVUTSRQPONMLKJIHGFEDCBA
  ABCDEFGHIJKLMNOPQRSTUVWXWVUTSRQPONMLKJIHGFEDCBA
 ABCDEFGHIJKLMNOPQRSTUVWXYXWVUTSRQPONMLKJIHGFEDCBA
ABCDEFGHIJKLMNOPQRSTUVWXYZYXWVUTSRQPONMLKJIHGFEDCBA
 ABCDEFGHIJKLMNOPQRSTUVWXYXWVUTSRQPONMLKJIHGFEDCBA
  ABCDEFGHIJKLMNOPQRSTUVWXWVUTSRQPONMLKJIHGFEDCBA
   ABCDEFGHIJKLMNOPQRSTUVWVUTSRQPONMLKJIHGFEDCBA
    ABCDEFGHIJKLMNOPQRSTUVUTSRQPONMLKJIHGFEDCBA
     ABCDEFGHIJKLMNOPQRSTUTSRQPONMLKJIHGFEDCBA
      ABCDEFGHIJKLMNOPQRSTSRQPONMLKJIHGFEDCBA
       ABCDEFGHIJKLMNOPQRSRQPONMLKJIHGFEDCBA
        ABCDEFGHIJKLMNOPQRQPONMLKJIHGFEDCBA
         ABCDEFGHIJKLMNOPQPONMLKJIHGFEDCBA
          ABCDEFGHIJKLMNOPONMLKJIHGFEDCBA
           ABCDEFGHIJKLMNONMLKJIHGFEDCBA
            ABCDEFGHIJKLMNMLKJIHGFEDCBA
             ABCDEFGHIJKLMLKJIHGFEDCBA
              ABCDEFGHIJKLKJIHGFEDCBA
               ABCDEFGHIJKJIHGFEDCBA
                ABCDEFGHIJIHGFEDCBA
                 ABCDEFGHIHGFEDCBA
                  ABCDEFGHGFEDCBA
                   ABCDEFGFEDCBA
                    ABCDEFEDCBA
                     ABCDEDCBA
                      ABCDCBA
                       ABCBA
                        ABA
                         A

2
আউটপুটে ফাঁকা স্থান ঠিক থাকলে আপনি কি নিশ্চিত অভাব? অন্যান্য সমস্ত উত্তর ফাঁকা দিয়ে এটিকে আউটপুট দেয়। আমি সেক্ষেত্রে জিজ্ঞাসা করেছি (যেহেতু এটি ম্যাটল্যাবেও এটি বেশ খানিকটা সহজ করে তুলবে :) :)
স্টিভি গ্রিফিন

কিছু অনুপস্থিত স্পেস হবে বলে মনে হচ্ছে
DJMcMayhem

@ ডিআরএমসিএমলেক্স আমি চ্যালেঞ্জটি ভুলভাবে লিখেছি, আমি ভেবেছিলাম চিঠিগুলি দিয়ে 2 ডি চর অ্যারে ফিরিয়ে দেওয়া যথেষ্ট ছিল। কোনও ফিক্স আরএন-এ কাজ করছেন
কনর ও'ব্রায়েন

4

জেলি , 13 বাইট

RØAḣUz⁶ŒBṚŒḄG

TryItOnline!

কিভাবে?

RØAḣUz⁶ŒBṚŒḄG - Main link: n         e.g. 3
R             - range                     [1,2,3]
 ØA           - uppercase alphabet yield  "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
   ḣ          - head                      ["A","AB","ABC"]
    U         - upend (vectorises)        ["A","BA","CBA"]
     z        - transpose with filler...
      ⁶       -     space character       ["ABC"," AB","  A"]
       ŒB     - bounce (vectorises)       ["ABCBA"," ABA ","  A  "]
         Ṛ    - reverse                   ["  A  "," ABA ","ABCBA"]
          ŒḄ  - bounce (flat)             ["  A  "," ABA ","ABCBA"," ABA ","  A  "]
            G - grid format (join each with spaces and join with line feeds)
                                              A    
                                            A B A  
                                          A B C B A
                                            A B A  
                                              A    


2

সি #, 266 263 262 261 245 238 235 232 বাইট

Golfed:

List<string> F(int n){int i=0;var l=new List<string>();for(;i<n;i++){var h="";for(var c='A';c<'B'+i;c++)h+=" "+c;l.Add(new string(' ',(n-i+1)*2)+h+" "+string.Concat(h.Remove(i*2).Reverse()));}for(i-=2;i>=0;i--)l.Add(l[i]);return l;}

মন্তব্যে অসম্পূর্ণ:

    List<string> F(int n)
    {
        int i = 0;
        var l = new List<string>(); //collection of lines

        for (; i < n; i++)
        {
            var h = ""; //half of line

            //adding letters to first half of line
            for (var c = 'A'; c < 'B' + i; c++)
                h += " " + c;

            //adding leading spaces + half of line + reversed half of line to list
            l.Add(new string(' ', (n - i + 1)*2) + h + " " + string.Concat(h.Remove(i*2).Reverse()));
        }

        //adding lines in descending order
        for (i -= 2; i >= 0; i--)
            l.Add(l[i]);

        return l;
    }

এটি ব্যবহার করে দেখুন: http://rextester.com/WIL67940

স্ট্রিংয়ের তালিকা ফেরত দেয়। প্রতিটি স্ট্রিং একটি আউটপুট লাইন থাকে।

আমি মজা এবং প্রশিক্ষণের জন্য এটি করেছি। আমি বুঝতে পেরেছি যে সি # এর সাথে যে কোনও কোড-গল্ফ জয়ের সীমার বাইরে।

EDIT1: +অপারেটরের কাছে স্ট্রিং ইন্টারপোলেশন পরিবর্তিত হয়েছে ।

সম্পাদনা 2: c <= 'A' + i=>c < 'B' + i

সম্পাদনা 3: charসাথে সজ্জিত var

EDIT4 থেকে পরিবর্তিত রিটার্ন টাইপ voidকরতে List

EDIT5: অপ্রয়োজনীয় ভেরিয়েবল অপসারণ।

EDIT6: লাইন অর্ধেক পৃথক করার নতুন উপায়।

সম্পাদনা 7: @ ক্যাস্পার কেজলডেন, আপনাকে ধন্যবাদ


1
আপনি স্ট্রিং h = "" প্রতিস্থাপন করে একটি অক্ষর শেভ করতে পারেন; var h = "" সাথে;
কাস্পার কেজলডেন

পছন্দ করেছেন
পালদির

1
আরও ছোট হতে পারে! rextester.com/JLUL92950 স্ট্রিং [] F (int n) {int i = 0; var q = 2 * n-1; var l = নতুন স্ট্রিং [q]; এর জন্য (; i <n; i ++) {var h = ""; এর জন্য (ভার সি = 'এ'; সি <'বি' + আই; সি ++) এইচ + = "" + সি; এল [কুই -১] = ল [i] = নতুন স্ট্রিং ('', (এন- আমি + 1) * 2) + H + "," + string.Concat (h.Remove (ঝ * 2) .Reverse ());} আগমন ঠ;}
Kaspar Kjeldsen

2

সি, 124 123 বাইট

মুকুল কুমারকে ধন্যবাদ 1 বাইট সংরক্ষণ করা

ডাবল লুপটিকে এককভাবে রূপান্তরিত করতে এখন আমার মাথা পেতে পারে না, এই মুহুর্তের জন্য এটি এইভাবে ছেড়ে চলে যাবে। আসলে, এটি বড়

for(l=0;l<4*n*(4*n+1);++l){
  i=l/(4*n+1)-2*n;
  j=l%(4*n+1)-2*n;

সুতরাং আমি শুধু নেস্টেড লুপ যাক।

i,j,k;f(n){for(i=-2*n-1;++i<2*n;){for(j=-2*n-1;++j<=2*n;k=abs(i/2)+abs(j/2),putchar(j-2*n?k>=n||i%2||j%2?32:65+n+~k:10));}}

হীরা আকারটি পেতে ম্যানহাটান আদর্শ ব্যবহার করে ।

Ungolfed:

i,j,k;
f(n){
 for(i=-2*n-1;++i<2*n;){
  for(j=-2*n-1;++j<=2*n;
   k=abs(i/2)+abs(j/2),
   putchar(j-2*n?k>=n||i%2||j%2?32:65+n+~k:10)
  );
 }
}

আপনি প্রতিস্থাপন পর এক বাইট কমে যায় j==2*nসঙ্গে j-2*nএবং বিনিময় ? ()সঙ্গে মান :()মান
মুকুল কুমার

2

পাইথন, 158 154 140 139 বাইট

r=range
s=int(raw_input())
a=map(chr,range(65,91))
for i in r(0,s)+r(0,s-1)[::-1]:
 print (' '.join(a[:i+1]+a[:i][::-1])).center(s*4-2,' '))

এটি আমার প্রথম পোস্ট তাই সৌম্য হতে! আমি [:: - 1] এর প্রচলিত স্ট্রিংগুলি উল্টাতে ব্যবহার করেছি, তাই সেখানে কিছুটা অপ্টিমাইজেশন থাকতে পারে। মন্তব্য স্বাগত।

সম্পাদনাগুলি:

পাইথন কোড গল্ফ বিষয়টির সহায়ক লিঙ্কটির পয়েন্টারটির জন্য এবং চিঠিগুলির মধ্যে স্পেস প্রয়োজন বলে মনে করিয়ে দেওয়ার জন্য @ রডকে ধন্যবাদ। এছাড়াও স্থানগুলি অপসারণ সম্পর্কে সাধারণ পরামর্শের জন্য @Wec ধন্যবাদ


আপনি আপনার অপারেটরগুলির উভয় পাশের স্থানগুলি (যেমন `=` হয়ে যায় =), কমা পরে এবং মুদ্রণ বিবৃতিতে খোলার প্রথম বন্ধনী সরাতে পারেন । পাইথন ইনডেন্টেশন যতক্ষণ না এটি সামঞ্জস্যপূর্ণ কোনও স্তর হতে পারে, তাই আপনি নিজের মুদ্রণ বিবৃতিটিকে চারটির পরিবর্তে কেবল একটি জায়গাই আলাদা করে 3 অক্ষর সংরক্ষণ করতে পারবেন। এগুলি হ'ল সহজ সঞ্চয়।
wec

স্বাগতম গ :, আমাদের কাছে প্রচুর অজগর টিপস (বর্ণমালা তৈরির সংক্ষিপ্ত বিকল্প সহ) সহ এই দুর্দান্ত বিষয় রয়েছে। এছাড়াও যেহেতু আপনি zকেবল একটি সময় ব্যবহার করছেন , আপনার কোনও ভেরিয়েবল ব্যবহার করার দরকার নেই, কেবল s*2-1সরাসরি centerফাংশনে রেখে দিন। কেবলমাত্র একটি বিশদ, আউটপুটে অক্ষরের মধ্যে ফাঁকা স্থান থাকা দরকার, ' '.joinপ্রিন্টের পরে ডানদিকে পর্যাপ্ত পরিমাণে হওয়া উচিত (তবে আপনাকে s*2-1সঠিক মান পেতে পুনরায় কাজ করতে হবে)।
রড

এছাড়াও, ডিফল্ট মান শুরু rangeএবং জন্য [:]হয় 0, তাই আপনি এটা স্পষ্টভাবে রাখতে হবে জানলে
ডান্ডা

2

ব্রেন-ফ্লাক, 630 + 3 = 633 বাইট

এর জন্য -Aপতাকা চালানো দরকার

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

(({})){(({}[()])<({}<({}<>)><>)<>(({}<>)<(({}[({})()])<{({}[()]<({}<(((((()()()()){}){}){}))>)>)}{}(({}<((((((()()()()){}){}){}){}()<>)<>)>)<{({}[()]<((()({}<(((((()()()()){}){}){}<>)<>)>)<>)<>)>)}{}({}<(((((()()()()){}){}){}<>)<>)>)((((()()()()){}){}){})>){(({})[()]<(({}((((()()()()){}){}){}){}<>)<>)(((((()()()()){}){}){}<>)<>)>)}{}>){({}[()]<<>(((((()()()()){}){}){}))<>>)}{}(((()()()()()){}<>)<>)>)>)}{}{}{}([]){((({}[()])<{({}[()]<({}<({}<>)<>>)>)}{}>)<{({}[()]<<>({}<>)>)}{}>)}{}((()()()()()){})<>{}([]){((({}[()])<{({}[()]<({}<({}<>)<>>)>)}{}>)<{({}[()]<<>({}<>)>)}{}>)}{}{{}({}[(()()()()()){}])}{}([]){{}({}<>)<>([])}{}<>

এটি কোনও দুর্দান্ত গল্ফ নয় তবে এই চ্যালেঞ্জটি ব্রেন-ফ্লাকের পক্ষে বেশ কঠিন



1

টিএসকিউএল, 261 বাইট

একটি লাইন ক্যোয়ারী - কোনও লুপিং নেই

DECLARE @i INT =5;

WITH C as(SELECT top(@i*2-1)number z
FROM master..spt_values WHERE'P'=type)SELECT
top(@i*2-1)space(abs(z-@i+1)*2)+v+STUFF(reverse(v),1,3,'')FROM(SELECT
z,(SELECT top((@i-abs(@i-z-1)))char(65+z)+' 'FROM c
for xml path(''),type).value('.','varchar(52)')v FROM c)d

দুর্ভাগ্যক্রমে ফিডল আউটপুট লাইনের শুরুতে খালি জায়গা খায়। এসকিউএল সার্ভার পরিচালনা স্টুডিওতে মৃত্যুদণ্ড কার্যকর করা হলে স্পেস থাকবে

বেহালা


1

রুবি, 137 115 100 84 বাইট

->n{e=->s{s+s.reverse[1..-1]};e[(0..n-1).map{|i|"  "*(n-i)+e[[*?A..?Z][0..i]*' ']}]}

মন্তব্যের জন্য manatwork ধন্যবাদ।


ভাল উত্তর। এটির উন্নতি করার উপায়গুলির জন্য, রুবিতে গল্ফ করার টিপসটি একবার দেখুন । প্রথম সব, kernigh এর ডগা ফাংশন সংক্রান্ত। বিটিডাব্লু, 0..n-10...n
manatwork

1
আপনি তিন যুক্তিবিজ্ঞান বিপরীত তাহলে আপনি একটি একক অক্ষর রিলেশনাল অপারেটর ব্যবহার করতে পারেন: n>0?…:""
manatwork

1
"আপনার চ্যালেঞ্জ একটি প্রোগ্রাম বা ফাংশন লিখতে হয়"। এটিকে একটি বেনাম ল্যাম্বদা করা ভাল - এটির পরামিতিটি সরাসরি পূর্ণসংখ্যার হিসাবে নিতে পারে।
manatwork

1

বেফঞ্জ 93 , 175 বাইট

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

সম্ভবত খুব ভাল গল্ফ না। আচ্ছা ভালো. বেফুঞ্জের সাথে এটি যথেষ্ট শক্ত ছিল:

&:00p"B"\- :13v
v,: _v#`"@"<p5<
v," "<v`+*9<
>" ",: 35g7^
v47"v"_>1+ v
>p#  0^:>- v
v"A"g53<1v<
>+00g-` |53
v">",+91<p+
>74p35g:v11
_v# -g00<+^ _@#:
1>59*:91v> v
^p+199p8>#+ <

ভাগ্য কীভাবে এটি কাজ করে তা নির্ধারণ করে! আমি সবে জানি।


রান-টাইম কোড সংশোধন করার দুর্দান্ত ব্যবহার।
জেমস হোল্ডারেন্স

1

সি #, 199 বাইট

q=>{Action<int>L=x=>{var s="";var k=0;for(;k<x;)s+=(char)('A'+k++)+" ";for(--k;--k>=0;)s+=(char)('A'+k)+" ";Console.WriteLine(new string(' ',(q-x)*2)+s);};var i=0;for(;i<q;)L(++i);for(;i>1;)L(--i);};

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

এখানে একটি নিরবচ্ছিন্ন সংস্করণ, যাতে আমি কী করলাম তা সহজেই বুঝতে পারবেন:

Action<int> C = q => 
{
    Action<int> L = x => 
    {
        var s = "";
        var k = 0;
        for (; k < x;)
            s += (char)('A' + k++) + " ";
        for (--k; --k >= 0;)
            s += (char)('A' + k) + " ";
        Console.WriteLine(new string(' ', (q - x) * 2) + s);
    };
    var i = 0;
    for (; i < q;)
        L(++i);
    for (; i > 1;)
        L(--i);
};

(আমি মনে করি যদিও এটি অনেকটা অনুকূল করা যেতে পারে ..)


1

জাভা, 213 বাইট

void p(int n){int i=1,s=1,f,c;while(i>0){f=(n+1-i)*2;System.out.printf("%"+f+"s","");c=65;for(;c<64+i;)System.out.printf("%c ",c++);for(;c>64;)System.out.printf("%c ",c--);System.out.println();if(i==n)s=-1;i+=s;}}

Ungolfed:

void p(int n) {
    int i = 1, s = 1, f, c;
    while (i > 0) {
        f = (n + 1 - i) * 2;
        System.out.printf("%" + f + "s", "");
        c = 65;
        for (; c < 64 + i; ) System.out.printf("%c ", c++);
        for (; c > 64; ) System.out.printf("%c ", c--);
        System.out.println();
        if (i == n) s = -1;
        i += s;
    }
}

0

জাভা, 394 বাইট

আমি সাধারণত সি # করি, তবে এটি মিশ্রিত করা ভাল ...

Golfed:

String P(int n){String a="ABCDEFGHIJKLMNOPQRSTUVWXYZ",o="",k="",s="";int i=0,j=0,l=0;java.util.List<String>b=new java.util.ArrayList<String>();for(i=1;i<=n;i++){k="";s=a.substring(0,i);l=s.length();for(j=0;j<l;j++)k+=s.toCharArray()[j]+" ";while(k.length()<n+n)k=" "+k;if(i>1)for(j=l-2;j>=0;j--)k+=s.toCharArray()[j]+" ";k+="\r\n";b.add(k);o+=k;}for(i=b.size()-2;i>=0;i--)o+=b.get(i);return o;}

Ungolfed:

public String P(int n)
{
    String a = "ABCDEFGHIJKLMNOPQRSTUVWXYZ", o ="", k="",s="";
    int i =0, j=0, l=0;
    java.util.List<String> b = new java.util.ArrayList<String>();
    for (i = 1; i <= n; i++) {
        k = "";
        s = a.substring(0, i);
        l = s.length();

        for (j = 0; j < l; j++)
            k += s.toCharArray()[j] + " ";

        while(k.length() < n + n)
            k= " " + k;

        if(i > 1)
            for (j = l-2; j >= 0; j--)
                k += s.toCharArray()[j] + " ";           

        k += "\r\n";
        b.add(k);
        o += k;
     }

    for (i = b.size()-2; i >= 0; i--)
        o += b.get(i);

    return o;
}

টেস্ট:

BuildAnAlphabetPyramid b = new BuildAnAlphabetPyramid();
System.out.println(b.P(5));
System.out.println(b.P(26));

        A 
      A B A 
    A B C B A 
  A B C D C B A 
A B C D E D C B A 
  A B C D C B A 
    A B C B A     
      A B A 
        A 

                                                  A 
                                                A B A 
                                              A B C B A 
                                            A B C D C B A 
                                          A B C D E D C B A 
                                        A B C D E F E D C B A 
                                      A B C D E F G F E D C B A 
                                    A B C D E F G H G F E D C B A 
                                  A B C D E F G H I H G F E D C B A 
                                A B C D E F G H I J I H G F E D C B A 
                              A B C D E F G H I J K J I H G F E D C B A 
                            A B C D E F G H I J K L K J I H G F E D C B A 
                          A B C D E F G H I J K L M L K J I H G F E D C B A 
                        A B C D E F G H I J K L M N M L K J I H G F E D C B A 
                      A B C D E F G H I J K L M N O N M L K J I H G F E D C B A 
                    A B C D E F G H I J K L M N O P O N M L K J I H G F E D C B A 
                  A B C D E F G H I J K L M N O P Q P O N M L K J I H G F E D C B A 
                A B C D E F G H I J K L M N O P Q R Q P O N M L K J I H G F E D C B A 
              A B C D E F G H I J K L M N O P Q R S R Q P O N M L K J I H G F E D C B A 
            A B C D E F G H I J K L M N O P Q R S T S R Q P O N M L K J I H G F E D C B A 
          A B C D E F G H I J K L M N O P Q R S T U T S R Q P O N M L K J I H G F E D C B A 
        A B C D E F G H I J K L M N O P Q R S T U V U T S R Q P O N M L K J I H G F E D C B A 
      A B C D E F G H I J K L M N O P Q R S T U V W V U T S R Q P O N M L K J I H G F E D C B A 
    A B C D E F G H I J K L M N O P Q R S T U V W X W V U T S R Q P O N M L K J I H G F E D C B A 
  A B C D E F G H I J K L M N O P Q R S T U V W X Y X W V U T S R Q P O N M L K J I H G F E D C B A 
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z Y X W V U T S R Q P O N M L K J I H G F E D C B A 
  A B C D E F G H I J K L M N O P Q R S T U V W X Y X W V U T S R Q P O N M L K J I H G F E D C B A 
    A B C D E F G H I J K L M N O P Q R S T U V W X W V U T S R Q P O N M L K J I H G F E D C B A 
      A B C D E F G H I J K L M N O P Q R S T U V W V U T S R Q P O N M L K J I H G F E D C B A 
        A B C D E F G H I J K L M N O P Q R S T U V U T S R Q P O N M L K J I H G F E D C B A 
          A B C D E F G H I J K L M N O P Q R S T U T S R Q P O N M L K J I H G F E D C B A 
            A B C D E F G H I J K L M N O P Q R S T S R Q P O N M L K J I H G F E D C B A 
              A B C D E F G H I J K L M N O P Q R S R Q P O N M L K J I H G F E D C B A 
                A B C D E F G H I J K L M N O P Q R Q P O N M L K J I H G F E D C B A 
                  A B C D E F G H I J K L M N O P Q P O N M L K J I H G F E D C B A 
                    A B C D E F G H I J K L M N O P O N M L K J I H G F E D C B A 
                      A B C D E F G H I J K L M N O N M L K J I H G F E D C B A 
                        A B C D E F G H I J K L M N M L K J I H G F E D C B A 
                          A B C D E F G H I J K L M L K J I H G F E D C B A 
                            A B C D E F G H I J K L K J I H G F E D C B A 
                              A B C D E F G H I J K J I H G F E D C B A 
                                A B C D E F G H I J I H G F E D C B A 
                                  A B C D E F G H I H G F E D C B A 
                                    A B C D E F G H G F E D C B A 
                                      A B C D E F G F E D C B A 
                                        A B C D E F E D C B A 
                                          A B C D E D C B A 
                                            A B C D C B A 
                                              A B C B A 
                                                A B A 
                                                  A 

0

আর, 100 97 87 বাইট

x=scan();z=LETTERS;for(i in c(1:x,x:2-1))cat(rep(" ",x-i+1),z[1:i],if(i>1)z[i:2-1],"\n")

4:
#>         A 
#>       A B A 
#>     A B C B A 
#>   A B C D C B A 
#>     A B C B A 
#>       A B A 
#>         A

(আপডেট: scan()ইনপুট জন্য; আপত্তিজনক (x-1): 1 == x: 2-1।)

কোনও কীওয়ার্ড ভাষার বর্ণমুখে এটির মতো ঝাঁঝরি নয় (সেই বিশেষ চরিত্রগুলি সবসময় আরও ভাল হতে চলেছে)।


0

পিএইচপি, 122 116 বাইট

for($i=1-$n=$argv[1];$i<$n;)echo str_pad("",$a=abs($i++)),$s=join(range(A,chr(64+$n-$a))),substr(strrev($s),1),"\n";

একটি ছোট উপায় আছে?


0

জাভাস্ক্রিপ্ট (ES6), 121 বাইট

n=>[...Array(n+n--)].map((_,i,a)=>a.map((_,j)=>(j=10+n-g(i)-g(j))>9?(10-j).toString(36):` `,g=i=>i<n?n-i:i-n).join` `).join`\n`

যেখানে \nআক্ষরিক নিউলাইন চরিত্রের প্রতিনিধিত্ব করে। নিম্ন ক্ষেত্রে আউটপুট।


0

ব্যাচ, 269 বাইট

@echo off
set/an=%1-1
set a=ABCDEFGHIJKLMNOPQRSTUVWXYZ                         
for /l %%i in (-%n%,1,%n%)do set i=%%i&call:l
exit/b
:l
set s=
for /l %%j in (-%n%,1,%n%)do set j=%%j&call:c
echo%s%
exit/b
:c
set/aj=n-%i:-=%-%j:-=%
call set s= %%a:~%j%,1%%%s%

লাইন 2 25 স্পেসে শেষ হয়; এর অর্থ হ'ল বর্ণমালা সূচকটি নেতিবাচক হলে সেই স্কোয়ারগুলি কেবল ফাঁকা থাকে।

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