আয়তক্ষেত্রাকার সিউডো-ফ্র্যাক্টাল


13

লক্ষ্য

প্রোগ্রামটির লক্ষ্য হ'ল অনুভূমিক এবং উল্লম্বভাবে পরিবর্তন করে, বারে দ্বিগুণ আকারের একটি ASCII শিল্প আয়তক্ষেত্র আঁকাই। প্রতিবার আয়তক্ষেত্র দ্বিগুণ হয়ে গেলে অতিরিক্ত অঞ্চলটি একটি ভিন্ন চরিত্রের দ্বারা প্রতিনিধিত্ব করা হয় এবং পূর্ববর্তী অঞ্চলগুলি অপরিবর্তিত থাকে। দুটি ছোট ছোট বিভাগে একটি করে অক্ষর থাকে এবং এটি কোনও কোণে থাকতে পারে।

প্রোগ্রামটি একটি একক পূর্ণসংখ্যাকে ইনপুট হিসাবে গ্রহণ করে, পুরো আয়তক্ষেত্রটি অন্তর্ভুক্ত বিভাগগুলির সংখ্যা নির্ধারণ করে।

অন্য কোনও বাহ্যিক সংস্থান বা ইনপুট অনুমোদিত নয়।

নমুনা ইনপুট এবং আউটপুট

10

ABDDFFFFHHHHHHHHJJJJJJJJJJJJJJJJ
CCDDFFFFHHHHHHHHJJJJJJJJJJJJJJJJ
EEEEFFFFHHHHHHHHJJJJJJJJJJJJJJJJ
EEEEFFFFHHHHHHHHJJJJJJJJJJJJJJJJ
GGGGGGGGHHHHHHHHJJJJJJJJJJJJJJJJ
GGGGGGGGHHHHHHHHJJJJJJJJJJJJJJJJ
GGGGGGGGHHHHHHHHJJJJJJJJJJJJJJJJ
GGGGGGGGHHHHHHHHJJJJJJJJJJJJJJJJ
IIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJ
IIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJ
IIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJ
IIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJ
IIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJ
IIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJ
IIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJ
IIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJ

নির্বাচন মানদণ্ড

এক সপ্তাহের মধ্যে সংক্ষিপ্ততম কোড পয়েন্টগুলিতে জয়লাভ করে।


4 এর অ-শক্তিগুলির জন্য আউটপুটটি কী হওয়া উচিত?
মেরিনাস

আউটপুট কি এ, বি, সি, ইত্যাদি ক্রম হতে হবে?
কেন্ডাল ফ্রে

2
@ মারিনাস 4 এর ক্ষমতা সম্পর্কে বিশেষ কী? আপনি উদাহরণ ভুল বুঝতে পারে?
কেন্ডাল ফ্রে

@KendallFrey, না, শুধু হওয়া প্রয়োজন এন অনন্য মুদ্রণযোগ্য অক্ষর।
হ্যান্ড-ই-ফুড

এটি কি উপরে বাম কোণে ঠিক পুনরাবৃত্তি করতে হবে
এমনিইপ

উত্তর:


10

এপিএল, ২৫ টি চর / বাইট *

{⍉⍣⍵⊃{a,⍺⍴⍨⍴a←⍉⍪⍵}/⌽⍵↑⎕A}

বিস্তারিত দেখুন

{                   ⍵↑⎕A}   ⍝ take the first ⍵ letters
    ⊃{           }/⌽        ⍝ fold over them, using the first one as initial accum. value
            a←⍉⍪⍵           ⍝    ensure the accum. is a table, transpose it and call it 'a'
        ⍺⍴⍨⍴                ⍝    make a table as large as 'a' filled with the next letter
      a,                    ⍝    append it to the right of 'a' and loop as new accumulator
 ⍉⍣⍵                        ⍝ transpose the result as many times as the original ⍵ number

উদাহরণ

      {⍉⍣⍵⊃{a,⍺⍴⍨⍴a←⍉⍪⍵}/⌽⍵↑⎕A}¨⍳8
A AB  AB  ABDD  ABDD  ABDDFFFF  ABDDFFFF  ABDDFFFFHHHHHHHH
      CC  CCDD  CCDD  CCDDFFFF  CCDDFFFF  CCDDFFFFHHHHHHHH
                EEEE  EEEEFFFF  EEEEFFFF  EEEEFFFFHHHHHHHH
                EEEE  EEEEFFFF  EEEEFFFF  EEEEFFFFHHHHHHHH
                                GGGGGGGG  GGGGGGGGHHHHHHHH
                                GGGGGGGG  GGGGGGGGHHHHHHHH
                                GGGGGGGG  GGGGGGGGHHHHHHHH
                                GGGGGGGG  GGGGGGGGHHHHHHHH

⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ *: এপিএল নিজস্ব (লিগ্যাসি) একক বাইট অক্ষরে
লেখা যেতে পারে যা এপিএল প্রতীকগুলিকে উপরের 128 বাইট মানগুলিতে মানচিত্র করে। সুতরাং, স্কোর করার উদ্দেশ্যে, এন চরগুলির একটি প্রোগ্রাম যা কেবলমাত্র এসসিআইআই অক্ষর এবং এপিএল প্রতীক ব্যবহার করে তা এন বাইট দীর্ঘ হিসাবে বিবেচনা করা যেতে পারে।


9

গল্ফস্ক্রিপ্ট, 30 টি অক্ষর

~(,[0`]{{[49+]1$,*+}+%zip}@/n*

উদাহরণ ( অনলাইন চালানো ):

> 7
01335555
22335555
44445555
44445555
66666666
66666666
66666666
66666666

এটি এমনকি সংখ্যার জন্য যেমন ভুল
উত্স

@ টিমউই আমি এটি পরীক্ষা করেছিলাম এটি আমার জন্য কাজ করে। আউটপুট স্থানান্তরিত হয়েছে তবে প্রশ্নে ওরিয়েন্টেশন নির্দিষ্ট করা হয়নি।
হাওয়ার্ড

ঠিক আছে, আমার ধারণা আমি তখন খুব কঠোর ছিলাম :)
টিমউই

@ হওয়ার্ড এইচএম, এটিই আমি বুঝতে পারি "এবং পূর্ববর্তী অঞ্চলগুলি অপরিবর্তিত রয়েছে"। তিনি বলেন প্রথম দুটি চরিত্র যে কোনও কোণে থাকতে পারে তবে তিনি বলেন না যে অভিমুখ পরিবর্তন হতে পারে।
মার্টিন এন্ডার

7

পাইথন 2.7 - 85 103

এই zip(*s)তালিকাটি ক্রমাগত স্থানান্তর করতে সিনট্যাক্স ব্যবহার করে । ড্যানিয়েলকে তার টিপ দেওয়ার জন্য 12 টি চরিত্রের জন্য বড় ধন্যবাদ! তারপরে অক্ষরের পরিবর্তে সংখ্যা ব্যবহার করে আরও কয়েকজন শেভ করলেন।

s=[]
for i in range(input()):x=1<<i/2;s=zip(*s+[chr(65+i)*x]*x)
for i in s:print''.join(i)

এছাড়াও, বিট শিফটটির 1<<xচেয়ে 2**xকম (?) অগ্রাধিকার রয়েছে এর পরিবর্তে এটি ব্যবহার করে । পালন:

>>> 1<<(2*3)
64
>>> 1<<2*3
64
>>> 2**2*3
12
>>> 2**(2*3)
64

এবং কিছু আউটপুট:

10
01335555777777779999999999999999
22335555777777779999999999999999
44445555777777779999999999999999
44445555777777779999999999999999
66666666777777779999999999999999
66666666777777779999999999999999
66666666777777779999999999999999
66666666777777779999999999999999
88888888888888889999999999999999
88888888888888889999999999999999
88888888888888889999999999999999
88888888888888889999999999999999
88888888888888889999999999999999
88888888888888889999999999999999
88888888888888889999999999999999
88888888888888889999999999999999

1
খুশী হলাম। আপনি এটি দিয়ে কিছুটা ছোট করতে পারেন for i in s:print''.join(i)
ড্যানিয়েল লুবারভ

5

রুবি, 88

স্ট্যান্ডার্ড ইনপুট থেকে এন পড়ে।

s=[?A]
66.upto(64+gets.to_i){|i|x=i.chr*y=s.size;i%2<1?s.map!{|r|r+x}:s+=[x*2]*y}
puts s

এন = 8 এর জন্য ব্যবহারের উদাহরণ:

echo 8 | rectangular-pseudo-fractal.rb

আউটপুট:

ABDDFFFFHHHHHHHH
CCDDFFFFHHHHHHHH
EEEEFFFFHHHHHHHH
EEEEFFFFHHHHHHHH
GGGGGGGGHHHHHHHH
GGGGGGGGHHHHHHHH
GGGGGGGGHHHHHHHH
GGGGGGGGHHHHHHHH

এন = 10

echo 10 | rectangular-pseudo-fractal.rb

আউটপুট:

ABDDFFFFHHHHHHHHJJJJJJJJJJJJJJJJ
CCDDFFFFHHHHHHHHJJJJJJJJJJJJJJJJ
EEEEFFFFHHHHHHHHJJJJJJJJJJJJJJJJ
EEEEFFFFHHHHHHHHJJJJJJJJJJJJJJJJ
GGGGGGGGHHHHHHHHJJJJJJJJJJJJJJJJ
GGGGGGGGHHHHHHHHJJJJJJJJJJJJJJJJ
GGGGGGGGHHHHHHHHJJJJJJJJJJJJJJJJ
GGGGGGGGHHHHHHHHJJJJJJJJJJJJJJJJ
IIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJ
IIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJ
IIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJ
IIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJ
IIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJ
IIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJ
IIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJ
IIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJ

এর আউটপুট কেমন দেখাচ্ছে?

@ লেগোস্টোরমট্রোপ্র কিছু উদাহরণ যোগ করেছেন, যদিও এটি প্রশ্নের ঠিক একই ফর্ম্যাট।
পল প্রেসিডেজ

4

জে, 57 43

(,`,.@.(=/@$@[)$${&a.@(66+2&^.@#@,)^:)1$'A'

উদাহরণ:

5 (,`,.@.(=/@$@[)$${&a.@(66+2&^.@#@,)^:)1$'A'
ABDDFFFF
CCDDFFFF
EEEEFFFF
EEEEFFFF

7 (,`,.@.(=/@$@[)$${&a.@(66+2&^.@#@,)^:)1$'A'
ABDDFFFFHHHHHHHH
CCDDFFFFHHHHHHHH
EEEEFFFFHHHHHHHH
EEEEFFFFHHHHHHHH
GGGGGGGGHHHHHHHH
GGGGGGGGHHHHHHHH
GGGGGGGGHHHHHHHH
GGGGGGGGHHHHHHHH

সি এবং ডি উভয়ই অনুভূমিকভাবে প্রসারিত হবে। তাদের অনুভূমিক এবং উল্লম্বভাবে বিকল্প হওয়া উচিত।
হ্যান্ড-ই-ফুড

@ হ্যান্ড-ই-ফুড আপনি ঠিক বলেছেন। যে ইশারা জন্য ধন্যবাদ। আমি কোড (এবং পোস্ট) স্থির করেছি।
બાર્বারমট

4

ম্যাটল্যাব, 86 টি অক্ষর

@ ফ্ল্যাওয়ার (দু'বার!) দ্বারা প্ররোচিত করা ম্যাটল্যাব-এ আমার সবচেয়ে ছোট চেষ্টা:

function M=f(n)
M='';
if n
M=cat(mod(n,2)+1,f(n-1),64+n*ones(2.^fix(n/2-[.5,1])));
end

উদাহরণ আউটপুট:

>> disp(f(7))
ACEEGGGG
BCEEGGGG
DDEEGGGG
DDEEGGGG
FFFFGGGG
FFFFGGGG
FFFFGGGG
FFFFGGGG

এই আপনি কিছু বাইট সংরক্ষণ করতে হবেfunction M=f(n) M=''; if n M=cat(mod(n,2)+1,f(n-1),64+n*ones(2.^fix([n-1,n-2]/2))); end
flawr

@ ফ্লোয়ার: ওহ! একথাও ঠিক যে!
knedlsepp 21

পিএস fixদিয়ে যুক্তিটি প্রতিস্থাপন করে আরেকটি বাইট সংরক্ষণ করুন fix(n/2-[.5,1]): এর সাথে খুব ভাল সমাধান cat, আপনি এই মাত্রাটি কোথায় বেছে নিতে পারেন = এই ব্যবহার সম্পর্কে জানতেন না))
flawr

@ ফ্লোয়ার: আমার কাছে মনে হয় আমি বেশ অপচয় করছি। ;-)
নিডসেল্প

আমি কেবল লক্ষ্য করেছি যে আপনি এখানে নতুন, সুতরাং কোডগল্ফ.এসই তে স্বাগত জানাই, এটি একটি ভাল লাগবে)) আরও কিছু মতলব জাঙ্কিজ, খ।) জার্মান স্পিকার এখানে (আমি ধরে নিই)!
flawr

3

প্রশ্ন [cha৩ অক্ষর]

{"c"$64+{n:x 0;m:x 1;if[2>n;m:(),m];(o;$[n-2*n div 2;,';,][m;(#m;#m 0)#o:n+1])}/[x-1;(1;1)]1}

উদাহরণ

10
"ABDDFFFFHHHHHHHHJJJJJJJJJJJJJJJJ"
"CCDDFFFFHHHHHHHHJJJJJJJJJJJJJJJJ"
"EEEEFFFFHHHHHHHHJJJJJJJJJJJJJJJJ"
"EEEEFFFFHHHHHHHHJJJJJJJJJJJJJJJJ"
"GGGGGGGGHHHHHHHHJJJJJJJJJJJJJJJJ"
"GGGGGGGGHHHHHHHHJJJJJJJJJJJJJJJJ"
"GGGGGGGGHHHHHHHHJJJJJJJJJJJJJJJJ"
"GGGGGGGGHHHHHHHHJJJJJJJJJJJJJJJJ"
"IIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJ"
"IIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJ"
"IIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJ"
"IIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJ"
"IIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJ"
"IIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJ"
"IIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJ"
"IIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJ"

3
"AB"
"CC"

6
"ABDDFFFF"
"CCDDFFFF"
"EEEEFFFF"
"EEEEFFFF"

3

স্ক্লিপটিং , 59 টি অক্ষর

❶塊갠分감⓶左貶終辦감標가⓺貶⓹開上❶❶貶雙是不⒉갠乘⒉終가①上뀀❷②갠分小是增終❸⓷另要감右⓶갠加⓶終丟字⓶終丟겠終

(বেস -২ লোগারিদমের জন্য আমার কাছে নির্দেশনা থাকলে এই প্রোগ্রামটি বেশ খানিকটা ছোট হতে পারে, তবে আমি তা করি না, তাই আমি লুপ দিয়ে নিজেই এটি করি))

টীকাবিহীন কোড

n ইনপুট হয়।

❶ | n n

f = i => (1 << (i/2)) - 1;
塊갠分감⓶左貶終 | n n f

w = f(n);
辦 | n w f

d = 1;
감 | n w f d

s = "";
標 | n w f d M [s]

for (y in [0..f(n-1)])
가⓺貶⓹開上 | w d M [s] y

    if ((y & (y-1)) == 0) d *= 2;
    ❶❶貶雙是不⒉갠乘⒉終 | w d M [s] y

    for (x in [0..w])
    가①上 | w d M [s] y x

        c = 64; // '@'
        뀀 | w d M [s] y x c

        if (x < d/2) c++;
        ❷②갠分小是增終 | w d M [s] y x c

        a = x | y;
        ❸⓷另 | w d M [s] y c a

        while (a > 0) { a >>= 1; c += 2; }
        要감右⓶갠加⓶終丟 | w d M [s] y c

        s += (char) c;
        字⓶ | w d M [s] y
    終丟 | w d M [s]

    s += "\n"
    겠 | w d M [s]
終

আউটপুট

জন্য n= 6:

ABDDFFFF
CCDDFFFF
EEEEFFFF
EEEEFFFF

অবশ্যই আপনি 뀀( @) অন্য যে কোনও বেস চরিত্রে পরিবর্তন করতে পারেন , যেমন (স্পেস) এবং n= 7 দিয়ে:

!"$$&&&&
##$$&&&&
%%%%&&&&
%%%%&&&&
''''''''
''''''''
''''''''
''''''''

প্রোগ্রামটি আর দীর্ঘায়িত করে না এমন সর্বাধিক সংখ্যা হ'ল (= 255), যা আমাদের দেয় ( n= এবার 8):

Āāăăąąąąćććććććć
ĂĂăăąąąąćććććććć
ĄĄĄĄąąąąćććććććć
ĄĄĄĄąąąąćććććććć
ĆĆĆĆĆĆĆĆćććććććć
ĆĆĆĆĆĆĆĆćććććććć
ĆĆĆĆĆĆĆĆćććććććć
ĆĆĆĆĆĆĆĆćććććććć

আমরা যদি প্রোগ্রামটি 1 টি অক্ষর দীর্ঘতর করে তোলে, উদাহরণস্বরূপ 냟및(= \u4DFF) এবং n= 9 ব্যবহার করি, আমরা পাই:

一丁七七丅丅丅丅万万万万万万万万
丂丂七七丅丅丅丅万万万万万万万万
丄丄丄丄丅丅丅丅万万万万万万万万
丄丄丄丄丅丅丅丅万万万万万万万万
丆丆丆丆丆丆丆丆万万万万万万万万
丆丆丆丆丆丆丆丆万万万万万万万万
丆丆丆丆丆丆丆丆万万万万万万万万
丆丆丆丆丆丆丆丆万万万万万万万万
丈丈丈丈丈丈丈丈丈丈丈丈丈丈丈丈
丈丈丈丈丈丈丈丈丈丈丈丈丈丈丈丈
丈丈丈丈丈丈丈丈丈丈丈丈丈丈丈丈
丈丈丈丈丈丈丈丈丈丈丈丈丈丈丈丈
丈丈丈丈丈丈丈丈丈丈丈丈丈丈丈丈
丈丈丈丈丈丈丈丈丈丈丈丈丈丈丈丈
丈丈丈丈丈丈丈丈丈丈丈丈丈丈丈丈
丈丈丈丈丈丈丈丈丈丈丈丈丈丈丈丈

3

সি #, 239 185 182 180 বাইট

সি # এর কম ভার্বোস ভাষাতে কিছুই নেই।

using C=System.Console;
class P{
    static void Main(string[]a){
        for(int x,i,n=int.Parse(a[0]);n-->0;C.CursorTop=0)
            for(i=1<<n,x=1<<n/2+n%2;i-->0;)
                C.Write((char)(n+33)+(i%x<1?"\n":""));
    }
}

আউটপুট, প্রাকদৃষ্টির জন্য চয়ন করা অক্ষর:

!"$$&&&&((((((((****************
##$$&&&&((((((((****************
%%%%&&&&((((((((****************
%%%%&&&&((((((((****************
''''''''((((((((****************
''''''''((((((((****************
''''''''((((((((****************
''''''''((((((((****************
))))))))))))))))****************
))))))))))))))))****************
))))))))))))))))****************
))))))))))))))))****************
))))))))))))))))****************
))))))))))))))))****************
))))))))))))))))****************
))))))))))))))))****************

1
নিশ্চিত নন কিভাবে আপনি গণনা, কিন্তু আমি সংখ্যাত 184. আপনি বাইরের থেকে ধনুর্বন্ধনী ditching দুটি অক্ষর সংরক্ষণ করতে পারবেন forলুপ, উপার্জন 182.
বব

ধন্যবাদ @ Bob! মাইক্রো-অপ্টিমাইজ করার সময় অবশ্যই আমার ভুল অ্যাকাউন্ট করা উচিত।
হ্যান্ড-ই-ফুড

2

PERL, 122 অক্ষর rs

$N=<>;$x=$r=1;do{$_=chr$a+++65;$s=$x;$o=$_ x$s;$o.=$_++x$s,$s*=2while$N+65>ord++$_;print"$o\n"x$r;$r=$x;$x*=2}while++$a<$N

যুক্ত হোয়াইটস্পেস সহ:

$N=<>;
$x=$r=1;
do{
    $_=chr$a+++65;
    $s=$x;
    $o=$_ x$s;
    $o.=$_++x$s,$s*=2 
        while $N+65>ord++$_;
    print "$o\n"x$r;
    $r=$x;
    $x*=2
} while++$a<$N

আউটপুট:

$ echo 8 | perl pseudo-fractal.pl
ABDDFFFFHHHHHHHH
CCDDFFFFHHHHHHHH
EEEEFFFFHHHHHHHH
EEEEFFFFHHHHHHHH
GGGGGGGGHHHHHHHH
GGGGGGGGHHHHHHHH
GGGGGGGGHHHHHHHH
GGGGGGGGHHHHHHHH

1

PERL,  94   81 টি অক্ষর

$N=$_;$_=$:=A;$h=1;++$i%2?s/$/$:x$h/gem:($_.=($/.$:x2x$h)x$h,$h*=2)while++$:,--$N

এটি ফ্র্যাক্টাল পুনরাবৃত্তভাবে চিঠির মাধ্যমে চিঠি তৈরি করে, নতুন সারি এবং কলাম এবং সারি এবং কলামগুলি যুক্ত করে ... এটি করতে সরল স্ট্রিং ক্রিয়াকলাপগুলি ব্যবহার করে। নোট করুন যে সিনট্যাক্স চিনির জন্য অনুমতি দেওয়ার জন্য আমি চিঠিপত্রের পরিবর্তে স্ট্যান্ডার্ড ভেরিয়েবলটি অপব্যবহার করছি (যেমন স্থান বাদ দেওয়া - $:x2ইত্যাদি)

যুক্ত হোয়াইটস্পেস এবং মন্তব্য সহ:

$N=$_;
$_=$:=A;                    # $: is current letter
$h=1;

++$i%2? 
s/$/$:x$h/gem:              # every odd run - add "columns"
($_.=($/.$:x2x$h)x$h,$h*=2) # every even run - add "rows"
while++$:,--$N              # iterate over letters

কিছু আউটপুট:

$ echo 8 | perl -p pseudo-fractal.fill.pl.5a5
ABDDFFFFHHHHHHHH
CCDDFFFFHHHHHHHH
EEEEFFFFHHHHHHHH
EEEEFFFFHHHHHHHH
GGGGGGGGHHHHHHHH
GGGGGGGGHHHHHHHH
GGGGGGGGHHHHHHHH
GGGGGGGGHHHHHHHH

1

স্ক্লিপটিং , 45 টি অক্ষর

가⓶貶上倘감雙⓶壹長⓸講增字⓶復⓷是標⓷各①合終并不⓶梴❸⓶疊合終不뀐標뀐并終終⓶丟各겠終

এই দ্রবণটি অন্যান্য স্ক্রিপ্টিং সমাধান থেকে সম্পূর্ণ আলাদাভাবে কাজ করে। এটি অনেক বেশি বিরক্তিকর, তবে এটি আরও খাটো ...

সটীক

for i in [0..n-1]
가⓶貶上
    if (i != 0)
    倘
        i &= 1
        감雙
        e = list[0].Length
        ⓶壹長
        c = ((char) (c[0] + 1)).Repeat(e)
        ⓸講增字⓶復
        if (i)
        ⓷是
            concatenate c onto every element of list
            標⓷各①合終并
        else
        不
            concatenate c.Repeat(list.Length) onto list
            ⓶梴❸⓶疊合
        終
    else (i.e., i == 0)
    不
        c = "A"
        뀐
        list = ["A"]
        標뀐并
    終
終
concatenate "\n" to every element in list
⓶丟各겠終

1

দেলফি 348 || 449 ইনডেন্ট সহ

ইন্ডেন্ট ছাড়া

var inp,j,i,x: integer;s:string;L:TStringlist;begin L:=TStringList.Create;readln(s);inp:=StrToIntDef(s,4);if inp<4then inp:=4;s:='';l.Add('AB');for I:=2to inp-1do begin j:=Length(L[0]);if i mod 2=0then for x:=0to L.Count-1do L.Add(s.PadLeft(j,Chr(65+i)))else for x:=0to L.Count-1do L[x]:=L[x]+s.PadLeft(j,Chr(65+i));end;Write(L.GetText);readln;end.

ইনডেন্ট সহ

var
  inp,j,i,x: integer;
  s:string;
  L:TStringlist;
begin
  L:=TStringList.Create;
  readln(s);
  inp:=StrToIntDef(s,4);
  if inp<4then inp:=4;
  s:='';
  l.Add('AB');

  for I:=2to inp-1do
  begin
    j:=Length(L[0]);
    if i mod 2=0then
      for x:=0to L.Count-1do L.Add(s.PadLeft(j,Chr(65+i)))
    else
      for x:=0to L.Count-1do
        L[x]:=L[x]+s.PadLeft(j,Chr(65+i));
  end;
  Write(L.GetText);
  readln;
end.

1

সিজোম, 30 (23) বাইট

সিজেএম এই চ্যালেঞ্জের চেয়ে কয়েক মাস কম বয়সী তাই এটি সবুজ চেকমার্কের জন্য যোগ্য নয়।

l~(Sa1${{_,I'!+*+}%z}fI\{z}*N*

এটি এখানে পরীক্ষা করুন।

ওপি একটি মন্তব্যে স্পষ্ট করে জানিয়েছে যে অনন্য মুদ্রণযোগ্য অক্ষরের কোনও সেট অনুমোদিত, সুতরাং আমি প্রিন্টযোগ্য এএসসিআইআই অক্ষরটি শুরু থেকেই নিচ্ছি (কোণে একটি স্থান সহ, !পরবর্তী এবং আরও কিছু)।

যদি ওরিয়েন্টেশনটি এমনকি অদ্ভুত ইনপুটগুলির মধ্যে পরিবর্তিত হতে পারে (যা আমি মনে করি না, তবে এটি গল্ফস্ক্রিপ্ট জমা দেয়) তবে আমি এটি 25 বাইটে করতে পারি:

S]l~({{_,I'!+*+}%z}fIN*

ধারণাটি সত্যিই সহজ: একটি স্থানযুক্ত গ্রিড দিয়ে শুরু করুন এবং তারপরে এন -1 বার এটি স্থানান্তর করুন এবং পরবর্তী অক্ষরের সাথে সমস্ত লাইন দ্বিগুণ করুন।

লম্বা সংস্করণের জন্য, শেষে আমি ধারাবাহিক অভিযোজনের গ্যারান্টি দিতে আবারও N-1 বার স্থানান্তরিত করেছি।

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