লাফিয়ে উঠছে ক্যাঙ্গারোস


36

গল্পের

দাবি অস্বীকার: ক্যাঙ্গারু সম্পর্কে মেক আপ তথ্য থাকতে পারে।

ক্যাঙ্গারগুলি উন্নয়নের বিভিন্ন ধাপে পেরিয়ে যায়। তাদের বয়স বাড়ার সাথে সাথে তারা আরও উঁচুতে এবং আরও লাফিয়ে উঠতে পারে এবং ক্ষুধার্ত হওয়ার আগে তারা আরও বার লাফিয়ে উঠতে পারে।

পর্বে 1 , ক্যাঙ্গারু খুব সামান্য এবং সব সাগ্রহে গ্রহণ করা করতে পারবে না। এটি সত্ত্বেও, নিয়মিত পুষ্টি প্রয়োজন requires আমরা এর মতো একটি মঞ্চ 1 ক্যাঙ্গারুর কার্যকলাপের ধরণটি উপস্থাপন করতে পারি ।

o

পর্বে 2 , ক্যাঙ্গারু অল্প অল্প করে তুলতে পারে, কিন্তু না চেয়ে বেশি 2 আগেই ক্ষুধার্ত পায়। আমরা এই জাতীয় পর্যায়ে 2 ক্যাঙ্গারুর ক্রিয়াকলাপের নিদর্শন উপস্থাপন করতে পারি ।

 o o
o o o

পর্যায় পর 2 ক্যাঙ্গারু দ্রুত উন্নত। পরবর্তী প্রতিটি পর্যায়ে, ক্যাঙ্গারু কিছুটা উঁচুতে (গ্রাফিকাল উপস্থাপনায় 1 ইউনিট) এবং বহুবার দ্বিগুণ হয়ে যায়। উদাহরণস্বরূপ, একটি পর্যায় 3 ক্যাঙ্গারুর ক্রিয়াকলাপের ধরণটি এর মতো দেখাচ্ছে।

  o   o   o   o
 o o o o o o o o
o   o   o   o   o

মঞ্চ n এর জন্য , ক্রিয়াকলাপের ধরণটিতে উচ্চতা n এর 2 এন-1 ভি-আকৃতির জাম্প থাকে ।

উদাহরণস্বরূপ, পর্যায়ের জন্য 4 , আছে 8 উচ্চতার জাম্প 4

   o     o     o     o     o     o     o     o
  o o   o o   o o   o o   o o   o o   o o   o o
 o   o o   o o   o o   o o   o o   o o   o o   o
o     o     o     o     o     o     o     o     o

কার্য

একটি পূর্ণ প্রোগ্রাম বা একটি ফাংশন যে একটি ধনাত্মক পূর্ণসংখ্যা লাগে লিখুন এন ইনপুট এবং কপি করে প্রিন্ট হিসাবে বা পর্যায় হওয়া ASCII শিল্প উপস্থাপনা ফেরৎ এন ক্যাঙ্গারু এর কার্যকলাপ প্যাটার্ন।

আশেপাশের শ্বেতস্পেস এবং এএনএসআই এস্কেপ কোডগুলি অনুমোদিত, যতক্ষণ প্যাটার্নটি উপরে বর্ণিত ঠিক তেমন দেখাচ্ছে।

আপনি যদি এমন কোনও ফাংশন চয়ন করেন যা আউটপুট ফেরত দেয়, এটি অবশ্যই একটি একক স্ট্রিং বা অক্ষর অ্যারে প্রদান করবে যা প্রিন্ট করার সময় যথাযথ আউটপুট প্রদর্শন করে। স্ট্রিংগুলির একটি অ্যারে ফিরিয়ে আনার অনুমতি নেই।

আপনি তার পরিবর্তে যে কোনও মুদ্রণযোগ্য, অ-শ্বেতস্পেস অক্ষর ব্যবহার করতে পারেন o, যতক্ষণ না এটি ক্রিয়াকলাপের ধরণ এবং আপনার উত্তরের সমস্ত নিদর্শন জুড়ে সুসংগত থাকে।

এটি ; বাইটের মধ্যে সবচেয়ে কম উত্তর জিততে পারে!


আমার কিছু স্পষ্টতা দরকার আপনি বলেছিলেন যে আপনি যে কোনও চরিত্র উপস্থাপন করতে ব্যবহার করতে পারেন o। স্পেসগুলি প্রতিনিধিত্ব করতে আপনি কোনও চরিত্র ব্যবহার করতে পারেন (যতক্ষণ না সেগুলি আলাদা?)
কোডস জনসন

1
জায়গা ফাঁকা রাখতে হবে। আপনি প্রকৃত স্পেস ব্যবহার করতে পারেন বা আপনি কার্সারকে ঘুরিয়ে আনতে নিয়ন্ত্রণ কোড ব্যবহার করতে পারেন, তবে আপনি ছাপার যোগ্য অ-স্থান অক্ষর ব্যবহার করতে পারবেন না।
ডেনিস

উত্তর:


8

05 এ বি 1 ই , 12 10 বাইট

Îj¹FÐvû},À

ব্যাখ্যা:

Î              # Push zero and input
 j             # Prepend input - 1 spaces
  ¹F           # Input times do..
    Ð          #   Triplicate the string
     v }       #   Length times do..
      û        #     Palindromize
        ,      #   Pop and print with a newline
         À     #   Rotate the string on to the right

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


1
আকর্ষণীয়, জিপ চেয়ে স্মার্ট।
ম্যাজিক অক্টোপাস উরান

14

ম্যাটল্যাব, 92 90 86 84 বাইট

n=input('');p=eye(n)+32;A=repmat([fliplr(p),p,''],1,2^n/2);A(:,n+1:n:end)=[];disp(A)

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

eyeএকটি পরিচয় ম্যাট্রিক্স তৈরি করে। যদি আমরা এটিকে ফ্লিপ করি এবং মূলটিকে সম্মত করি তবে [fliplr(p),p]আমরা (এর জন্য n=3) পাই :

0 0 1 1 0 0
0 1 0 0 1 0
1 0 0 0 0 1

সঙ্গে repmat(...,1,2^n/2)আমরা এই পুনরাবৃত্তি 2^(n-1)কাল ও পেতে

0 0 1 1 0 0 0 0 1 1 0 0 0 0 1 1 0 0
0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 ...
1 0 0 0 0 1 1 0 0 0 0 1 1 0 0 0 0 1

এটি থেকে আমরা কেবল অপ্রয়োজনীয় কলামগুলি মুছে ফেলি সাথে A(:,n+1:n:end)=[];


8
২০ কে অভিনন্দন !!
লুইস মেন্ডো

ধন্যবাদ !
flawr

9

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

NλP^×λoF⁻λ¹‖O→

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

ব্যাখ্যা

Nλএকটি পূর্ণসংখ্যা ইনপুট λP^( ×λoএর λসাথে স্ট্রিং গুণ ) এর একটি বহুমাত্রিক মুদ্রণ (এসই এবং এসডাব্লু o)। তারপরে F⁻λ¹লুপ λ - 1বারের জন্য একটি চালায় , এতে ‖O→ওভারল্যাপের সাহায্যে পুরো জিনিসটি ডানদিকে প্রতিবিম্বিত হয়।


" P^একটি বহুমাত্রিক মুদ্রণ (এসই এবং এসডাব্লু) " কুল, এটি এমন একটি বিষয় যা আপনি প্রোগ্রামিং ভাষায় প্রায়শই দেখেন না!
কেভিন ক্রুইজসেন 23'17


7

পাইথন 2 , 87 বাইট

n=input()
for i in range(n):print''.join(' o'[abs(j%(2*n)-n)==i]for j in range(1,n<<n))

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

স্থানাঙ্কগুলির জন্য একটি সূত্র ব্যবহার করে (i,j)যাতে একটি বৃত্ত থাকে, তারপরে গ্রিডে যোগদান করে এবং মুদ্রণ করে। এখানে গল্ফের প্রচুর গন্ধ আছে - ''.joinদুটি নেস্ট রেঞ্জ, forশেষ exec, তাই উন্নতি হওয়ার সম্ভাবনা রয়েছে।


7

পাইথন 2, 83 81 বাইট

n=input()
i=0
exec"s=' '*n+'o'+' '*i;i+=1;print(s[i:-1]+s[:i:-1])*2**~-n+s[i];"*n

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


3
পিপিসিজিতে আপনাকে স্বাগতম! প্রথম প্রথম পোস্ট!
Rɪᴋᴇʀ

3
এটাই এক ধরনের অবমূল্যায়ন; পাইথনের আউটগল্ফিং এক্সনর কোনও ছোট কীর্তি নয়। আমি উন্নতির জন্য কিছু জায়গা দেখতে পাচ্ছি। যখন একটি লুপ একটি বাইট সংরক্ষণ উচিত এবং কৌতুক আরো কয়েকটি সংরক্ষণ করতে পারবেন। exec
ডেনিস

5

বেফুঞ্জ, 98 91 বাইট

এটি ,এর জায়গায় একটি ব্যবহার করে o, যেহেতু এটি আমাদের কয়েকটা বাইট সংরক্ষণ করতে সক্ষম করে।

&::1>\1-:v
+\:v^*2\<_$\1-2*::!+00p*1
:-1_@v0\-g01:%g00:-1<:\p01
 ,:^ >0g10g--*!3g,:#^_$\55+

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

ব্যাখ্যা

স্টেজ নম্বর দেওয়া, এন , আমরা নিদর্শন নিম্নলিখিত তিনটি পরামিতি গণনা দ্বারা শুরু:

jump_count = 2 ^ (n - 1)
jump_len   = (n - 1) * 2
width      = (jump_len * jump_count) + 1

Jump_len এটির সাথে একটি মঞ্চ 1 টি ক্যাঙ্গারু জন্য শূন্য হওয়া এড়াতে স্বাভাবিক হয়:

jump_len += !jumplen    

তারপরে আমরা আউটপুট অঞ্চলের x এবং y স্থানাঙ্কগুলির উপর পুনরাবৃত্তি করে এবং প্রতিটি অবস্থানের জন্য উপযুক্ত চরিত্রের গণনা করে আউটপুট দিতে পারি। Y থেকে নেমে গন্য তুল্য এন - 1 0, এবং এক্স গন্য তুল্য ডাউন থেকে প্রস্থ - 1 0 থেকে আমরা তা নির্ধারণ একটি বিন্দু চাহিদা নিম্নলিখিত সূত্র সঙ্গে প্রদর্শন করা হবে কিনা তা:

jump_off = x % jump_len
show_dot = (jump_off == y) or (jump_off == (jump_len-y))

Show_dot বুলিয়ান প্রতিটি অবস্থানে আউটপুট প্রকৃত চরিত্র নির্ধারণ করতে একটি টেবিল সূচক হিসেবে ব্যবহৃত হয়। স্থান বাঁচাতে, আমরা উত্সের শেষ রেখার সূচনাটি সেই টেবিল হিসাবে ব্যবহার করি, যার কারণে আমাদের oচরিত্রটি একটি হিসাবে শেষ হয় ,


5

জে , 28 25 বাইট

' o'{~]_&(](|.,}.)"1)=@i.

@ কনর ও'ব্রায়েনকে 3 বাইট সংরক্ষণ করা হয়েছে ।

এটি @ মুডিফিশের দ্রবণ থেকে প্যালিনড্রোম ট্রিকের উপর ভিত্তি করে ।

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

ব্যাখ্যা

' o'{~]_&(](|.,}.)"1)=@i.  Input: integer n
                       i.  Form the range [0, 1, ..., n-1]
                     =@    Equality table with itself.
                           Creates an identity matrix of order n
      ]                    Get n
       _&(          )      Repeat n times on x = identity matrix
           (     )"1         For each row
            |.                 Make a reversed copy
               }.              Get a copy with the head removed
              ,                Append them
          ]                  Use that as the new value of x
' o'{~                     Index into the char array

31 জন্য একটি বিকল্প পদ্ধতির বাইট: ' o'{~3 :'(}."1,.~|."1)^:y=i.y'। আমি আশা করি আমি সেই স্পষ্ট ক্রিয়াটি সরানোর কোনও উপায় খুঁজে পেতে পারি ... ডার্ন ^:
কনর ও'ব্রায়ান

@ কনরও ব্রায়েন ধন্যবাদ, এটি সাহায্য করে, আমি মনে করি এটি যদি সংক্ষিপ্ততর হয়
মাইল এ মাইল

@ কনরও'ব্রায়েন আমি এটাকে স্বাচ্ছন্দ্যে পরিণত করেছি, এটি আসলে খাটো!
মাইল

অসাধারণ! এটি বেশ দুর্দান্ত। আমি u&v--quite সুন্দর এর dyadic ব্যবহার ভুলবেন না ।
কনর ও'ব্রায়ান


4

হাস্কেল , 100 বাইট

k 1="o"
k n|n<-n-1,m<-n*2=unlines[[last$' ':['o'|mod c m`elem`[m-r,r]]|c<-[0..m*2^n]]|r<-[n,n-1..0]]

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

ব্যাখ্যা:

একটি সারিতে দেওয়া r, একটি কলাম cএবং m = 2(n-1)একটি oযদি সেট করা হয় c mod mসমান rবা m-r। দূরতম তালিকা ধী পরিসীমা সেট করে rথেকে n-1থেকে 0, পরের এক সেট পরিসীমা cথেকে 0থেকে m*2^(n-1)এবং গভীরতম ফিরে শর্তসাপেক্ষ হিসাবে কাজ করে 'o'যদি উপরে সূত্র পূর্ণ করা হয়েছে ' 'অন্যথায়। এটি স্ট্রিংয়ের একটি তালিকা দেয় যা একক নতুন লাইনের দ্বারা পৃথক স্ট্রিংকে পরিবর্তিত হয় unlinesn=1ফাংশনটির জন্য একটি বিভাগ দ্বারা শূন্য ত্রুটি তৈরি হয়, সুতরাং এই ক্ষেত্রে প্রথম লাইনে স্পষ্টভাবে পরিচালনা করা হয়।


আমি সত্যিই ['o'|mod c m`elem`[m-r,r]]অংশটি পছন্দ!
flawr

4

সি #, 180, 173 171 বাইট

এটি জিততে পারবেন না, অন্যান্য সি # প্রতিযোগীদের এমন কিছু পোস্ট করা যাতে তারা পারা যায়।

n=>{var s=new string[n];for(int a=-1,j=0,i,m=n-1,x=m;j<=m*(Math.Pow(2,n)*n+1);){i=j++%n;s[i]+=x==i?"o":"_";if(i==m&n>1){x+=a;a*=x%m==0?-1:1;}}return string.Join("\n",s);};

সম্পূর্ণ প্রোগ্রাম:

using System;
public class P
{
    public static void Main()
    {
        Func<int, string> _ = n =>
        {
            var s = new string[n];
            for (int a = -1, j = 0, i, m = n - 1, x = m; j <= m * (Math.Pow(2, n) * n + 1);)
            {
                i = j++ % n;
                s[i] += x‌​ == i ? "o" : "_";
                if (i == m & n > 1)
                {
                    x += a;
                    a *= x % m == 0 ? -1 : 1;
                }
            }
            return string.Join("\n", s);
        };

        Console.Write(_(4));
        Console.ReadKey();
    }
}

সম্পাদনা করুন: -7 বাইটস @ কেভিন ক্রুজসেনকে ধন্যবাদ

সম্পাদনা করুন: -2 বাইট, সরলীকৃত যদি


1
+1 গল্ফকে কিছু জিনিস: ইনটগুলি লুপের অভ্যন্তরে স্থাপন করা যেতে পারে এবং আপনি যুক্ত করতে পারেন ,i; আপনি যদি চেক- iএর n-1পরে আবার ব্যবহার করতে পারেন ; ||হতে পারে |; j++সরানো যেতে পারে এবং ++যোগ করা যেতে পারে j। সুতরাং মোট: (n)=>{var s=new string[n];for(int x=0,a=1,j=0,i;j<=Math.Pow(2,n)*(n*n-n);){i=j++%n;s[n-i-1]+=x%n==i?'o':' ';if(i==n-1){x+=a;a*=x==i|x==0?-1:1;}}return string.Join("\n",s);};( 173 বাইট )
কেভিন ক্রুইজসেন

পছন্দ করেছেন আমি কাজ থেকে ফিরে এসে আপডেট করব।
সিশারপি

@ কেভিন ক্রুজসেন আমি অলরেডি গল্ফ করেছিলাম ||এবং &&তবে সম্পূর্ণ প্রোগ্রামে রেখেছি।
সিশারপি

3

পাইথ , 30 বাইট

jC.<V*]+*dtQNh*tQ^2Q*+JUQtP_J^

একটি প্রোগ্রাম যা কোনও পূর্ণসংখ্যার ইনপুট নেয় এবং ফলাফল মুদ্রণ করে। এর "পরিবর্তে একটি উদ্ধৃতি চিহ্ন ব্যবহার করে o

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

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

jC.<V*]+*dtQNh*tQ^2Q*+JUQtP_J^    Program. Input: Q
jC.<V*]+*dtQNh*tQ^2Q*+JUQtP_J^QQ  Implicit input fill
      ]                           Yield a one-element list, A
        *dtQ                      cotaining Q-1 spaces
       +    N                     appended with a quote mark.
             h*tQ^2Q              Yield 1+(Q-1)*2^Q
     *                            Repeat A that many times, giving B
                       UQ         Yield [0, 1, 2, ..., Q-1]
                      J           (Store that in J)
                     +   tP_J     Append the reverse of J, discarding the first and last
                                  elements
                    *        ^QQ  Repeat the above Q^Q times, giving C
    V                             Vectorised map. For each pair [a,b] from B and C:
  .<                               Cyclically rotate a left by b characters
 C                                Transpose
j                                 Join on newlines
                                  Implicitly print

3

পাইথন 2 , 115 113 108 98 বাইট

lambda n:'\n'.join(map(''.join,zip(*[' '*abs(i)+'o'+~-n*' 'for i in range(-n+1,n-1)*2**~-n])))+'o'

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

range(-n+1,n-1)নীচে এবং oউত্পন্ন করার মধ্যে ফাঁকা স্থানগুলির নিখুঁত সংখ্যা তৈরি করতে ব্যবহার করে

  o
 o
o
 o

এবং তারপরে আরও অনুলিপি সংযোজন করুন, 90º সবকিছু ঘোরানো এবং oডানদিকে সর্বশেষে সংযোজন করা


3

জে , 58 47 বাইট

' o'{&:>~[:(,.}."1)&.>/(2^<:)#<@(|.,.}."1)@=@i.

@ ফ্লাওয়ারের সমাধান থেকে পরিচয় ম্যাট্রিক্স ধারণাটি ব্যবহার করে 11 বাইট সংরক্ষণ করা হয়েছে ।

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

সংজ্ঞার একটি সরল আবেদন।

ব্যাখ্যা

জন্য n = 3, অর্ডার এন পরিচয় ম্যাট্রিক্স তৈরি করে ।

1 0 0
0 1 0
0 0 1

তারপরে এটি আয়না করুন

0 0 1 0 0
0 1 0 1 0
1 0 0 0 1

সেই 2 এন -1 বার পুনরাবৃত্তি করুন এবং প্রতি সারিটির সদৃশকে নকলগুলিতে ফেলে দিন

0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0
0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0
1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1

[' ', 'o']2d চর অ্যারে আউটপুট করার জন্য এই মানগুলিকে চর অ্যারে সূচক হিসাবে ব্যবহার করুন

  o   o   o   o  
 o o o o o o o o 
o   o   o   o   o


3

জেলি , 11 বাইট

ŒḄ¡ḶUz1Ṛa⁶Y

TryItOnline!

কিভাবে?

মুদ্রণযোগ্য অক্ষর ব্যবহৃত হয় 0

ডাঙ্গার ক্যাঙ্গারুসের বিষয়ে তার আগের প্রশ্নের উত্তর দেওয়ার পদ্ধতিটি তৈরি করে।

ŒḄ¡ḶUz1Ṛa⁶Y - Main link: n                      e.g. 3
ŒḄ          - bounce, initial implicit range(n) e.g. [1,2,3,2,1]
  ¡         - repeat n times                    e.g. [1,2,3,2,1,2,3,2,1,2,3,2,1,2,3,2,1]
                  i.e. [1,2,3,2,1] bounced to [1,2,3,2,1,2,3,2,1] bounced to [1,2,3,2,1,2,3,2,1,2,3,2,1,2,3,2,1]
   Ḷ        - lowered range (vectorises)        e.g. [[0],[0,1],[0,1,2],[0,1],[0],[0,1],[0,1,2],[0,1],[0],[0,1],[0,1,2],[0,1],[0],[0,1],[0,1,2],[0,1],[0]]
    U       - upend (vectorises)                e.g. [[0],[1,0],[2,1,0],[1,0],[0],[1,0],[2,1,0],[1,0],[0],[1,0],[2,1,0],[1,0],[0],[1,0],[2,1,0],[1,0],[0]]
     z1     - transpose with filler 1
       Ṛ    - ...and reverse                    e.g. [[1,1,0,1,1,1,0,1,1,1,0,1,1,1,0,1,1],
                                                      [1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1],
                                                      [0,1,2,1,0,1,2,1,0,1,2,1,0,1,2,1,0]]
        a⁶  - logical and with space character (all non-zeros become spaces)
          Y - join with line feeds              e.g.    0   0   0   0  
                                                       0 0 0 0 0 0 0 0 
                                                      0   0   0   0   0

2
খুশী হলাম। এই আমার রেফারেন্স সমাধানের সাথে সম্পর্ক ŒḄ¡Ṭ€z0o⁶ṚY
ডেনিস



2

পার্ল 6 , 104 93 88 বাইট

->\n{my @a;@a[$_;$++]="o" for [...] |(n-1,0,n-1)xx 2**n/2;say .join for @a».&{$_//" "}}

oএর 2D অ্যারেতে প্রবেশ করান এবং তারপরে এটি মুদ্রণ করে।


2

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

L<¹Fû}ð×'o«.BøR»

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

কেন এবং কিভাবে?

                 # Example input of n=2.
L<               # [0,1] (Push [1..a], decrement).
  ¹Fû}           # [0,1,0,1,0] (Palindromize n times).
      ð×'o«      # ['o',' o','o',' o','o'] (Push n spaces, append o's).
           .Bø   # ['o ',' o','o ',' o','o '] (Pad with spaces into 2D array, transpose).
              R» # Reverse, join and print.

1

জাভা 8, 254 বাইট

Golfed:

n->{if(n==1)return"o";int k,x,y,m=n+n-2;char[][]p=new char[n][m];for(y=0;y<n;++y)for(x=0;x<m;)p[y][x++]=' ';for(k=0;k<m;++k)p[k<n?n-k-1:k-n+1][k]='o';String s="";for(y=0;y<n;++y){for(k=0;k<1<<(n-1);++k)for(x=0;x<m;)s+=p[y][x++];if(y==n-1)s+='o';s+='\n';}

Ungolfed:

import java.util.function.*;

public class LeapingKangaroos {

  public static void main(final String[] args) {
    for (int i = 1; i <= 4; ++i) {
      System.out.println(toString(n -> {
        if (n == 1) {
          return "o";
        }
        int k, x, y, m = (n + n) - 2;
        char[][] p = new char[n][m];
        for (y = 0; y < n; ++y) {
          for (x = 0; x < m;) {
            p[y][x++] = ' ';
          }
        }
        for (k = 0; k < m; ++k) {
          p[k < n ? n - k - 1 : (k - n) + 1][k] = 'o';
        }
        String s = "";
        for (y = 0; y < n; ++y) {
          for (k = 0; k < (1 << (n - 1)); ++k) {
            for (x = 0; x < m;) {
              s += p[y][x++];
            }
          }
          if (y == (n - 1)) {
            s += 'o';
          }
          s += '\n';
        }
        return s;
      } , i));
      System.out.println();
      System.out.println();
    }
  }

  private static String toString(final IntFunction<String> func, final int level) {
    return func.apply(level);
  }

}

প্রোগ্রাম আউটপুট:

o

 o o
o o o


  o   o   o   o 
 o o o o o o o o
o   o   o   o   o


   o     o     o     o     o     o     o     o  
  o o   o o   o o   o o   o o   o o   o o   o o 
 o   o o   o o   o o   o o   o o   o o   o o   o
o     o     o     o     o     o     o     o     o

0

পিএইচপি, 157 বাইট

for($i=$n=$argv[1],$r=str_repeat;$i>0;)echo$r($r(' ',$i-1).'o'.$r(' ',2*$n-2*$i-1).($i==$n|$i==1?'':'o').$r(' ',$i-2),2**($n-1)).($i--==1&$n!=1?'o':'')."\n";

Ungolfed:

for($i=$n=$argv[1];$i>0;) {

    // Spacing from beginning of pattern to first 'o'   
    $o  = str_repeat(' ',$i-1); 

    // First 'o' for the ascent
    $o .= 'o'; 

    // Spacing between ascent and descent
    $o .= str_repeat(' ',2*$n-2*$i-1); 

    // Second 'o' for the descent, unless we are at the apex or the bottom
    $o .= ($i==$n|$i==1?'':'o'); 

    // Spacing to the end of the pattern
    $o .= str_repeat(' ',$i-2); 

    // Repeat the pattern 2^(n-1) times
    echo str_repeat($o, 2**($n-1)); 

    // Output final 'o' if we are at the bottom in the last pattern
    echo $i--==1&$n!=1?'o':''; 

    // End of line 
    echo "\n"; 

}

আপনি প্রতিটি প্রতিস্থাপন করতে পারেন 'o'সঙ্গে 1এবং প্রতি ''সঙ্গে 0। আশা করি এটি কার্যকর, এছাড়াও, স্পেসগুলি প্রতিস্থাপন করতে পারে Oবা দ্বারা 9। গুরুত্বপূর্ণ নিয়ম অনুসারে প্যাটার্নটি। তবে প্রথমে যাচাই করুন
ইসমাইল মিগুয়েল
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.