একটি ক্রিসমাস ট্রি মুদ্রণ করুন


26

চ্যালেঞ্জ

সংক্ষিপ্ততম কোডটি ব্যবহার করে শীর্ষে নিজের তারার সাথে একটি সুন্দর ক্রিসমাস ট্রি মুদ্রণ করুন। গাছের তারাটি একটি নক্ষত্রমণ্ডল ( *) এবং গাছের দেহটি গাছের বাইরে তৈরি হয় 0অবশ্যই গাছটি 10 ​​টি সারি উঁচু হতে হবে। পূর্ববর্তী সারিতে যেভাবে পরবর্তী একটিকে কেন্দ্র করে তা প্রতিটি সারিতে যথাযথভাবে ইন্টেন্ট করা উচিত। প্রদত্ত যে কোনও সারিতে তার চেয়ে আগেরটি তুলনায় 2 টি আরও 0 হতে হবে, কেবল তারার এবং দ্বিতীয়টি ছাড়া, যার কেবল একটি 0 রয়েছে result ফলাফলটি এরকম কিছু:

          *
          0
         000
        00000
       0000000
      000000000
     00000000000
    0000000000000
   000000000000000
  00000000000000000

সফ্টওয়্যার পরিবর্তন ছাড়াই পরিবর্তনযোগ্য উচ্চতার গাছগুলির জন্য টাই বিরতি (উচ্চতার পরামিতি পরিবর্তন করা ব্যতীত)

দয়া করে আপনার কোডের ফলস্বরূপ গাছটিও পেস্ট করুন!


লিডারবোর্ড


উত্তর:


17

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

" "9*"*"9,{n\.4$>\.+)"0"*}%

ফলস্বরূপ গাছটি দেখতে এরকম দেখাচ্ছে:

         *
         0
        000
       00000
      0000000
     000000000
    00000000000
   0000000000000
  000000000000000
 00000000000000000

একটি সংস্করণ যা উচ্চমাত্রার প্যারামিটার কেবল একবার ব্যবহার করে তা হ'ল একটি অক্ষর দীর্ঘ হয়:

9." "*"*"@,{n\.4$>\.+)"0"*}%

স্টিডিন থেকে উচ্চতা পড়া (উদাহরণস্বরূপ গাছ তৈরি করতে ইনপুট "10" সহ) একই পরিমাণে অক্ষর (28) লাগে:

~,)" "*"*"@{n\.4$>\.+)"0"*}%

56

আমি জানি যে এই অনুমানটি মেনে চলে না তবে আমি ভেবেছিলাম যে জোয়ান জি স্টার্কের ক্লাসিক এএসসিআইআই ক্রিসমাসের দৃশ্যের অনুকরণ করে আমি এখানে গাছগুলিতে কিছুটা বৈচিত্র্য যুক্ত করার চেষ্টা করব ।

আমি পুরো ছবিটি পুনরুত্পাদন করার চেষ্টা করিনি - যা কিছুটা বেশি হত - তবে কেবল গাছ, যার জন্য আমি এই ১৩৮-বাইট পার্ল প্রোগ্রামটি উপস্থাপন করছি:

$_=join$/,qw'11| 8\2_2/ 9(\o/) 5---2/1\2--- 10>*<',map(11-$_.A.AA x$_,2..11),'9\|H|/';s/\d+/$"x$&/eg,s/A/substr">>>@*O<<<",rand 9,1/eg,say

এবং, অবশ্যই, আউটপুট একটি নমুনা এখানে:

           |
        \  _  /
         (\o/)
     ---  / \  ---
          >*<
         >O><@
        <><<>><
       @><><>@<<
      @<O><*@*>>O
     OO@@*O<<<*<OO
    ><<>@><<>@<><><
   >><O<>>><@*>>><<O
  *<>*<><<>@><O*>><*<
 O><><<@<*>><O*@>O><>*
O<><<><@O>>*O*OO<><<>O>
         \|H|/

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

কোডটি পার্ল ৫.১০+ sayবৈশিষ্ট্য ব্যবহার করে এবং তাই -M5.010(বা -E) কমান্ড লাইন সুইচ দিয়ে চালানো দরকার । (প্রকৃতপক্ষে, কেবল sayশেষে দিয়ে প্রতিস্থাপন করা printএড়াতে পারে, আরও দুটি বাইট ব্যয়ে এবং আউটপুটটির শেষ লাইনের পরে নতুন লাইনটি ক্ষতিগ্রস্ত হবে))

নোট করুন যে গাছের বেশিরভাগ অংশ এলোমেলোভাবে উত্পন্ন হয়েছে, তাই অলঙ্কারগুলির স্থানগুলি রানের মধ্যে পৃথক হবে। যদিও দেবদূত, স্ট্যান্ড এবং গাছের উপরের সারিটি ঠিক করা আছে।


এই জনপ্রিয় উত্তরটি পোস্ট হওয়ার পরে প্রতিষ্ঠিত নীতিমালার অধীনে সংক্ষিপ্তভাবে মুছে ফেলা থেকে রক্ষা করতে এখানে একটি টোকেন স্পেস-কমপ্লায়েন্ট সমাধান (45 বাইট, এছাড়াও পার্ল 5) রয়েছে:

$_=$"x10 ."*";say,s/ 0/00/,s/\*?$/0/ while/ /

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

উপরের প্রোগ্রামটির মতো, বৈশিষ্ট্যটি -M5.010সক্ষম করার জন্য এইটিকে পার্ল ৫.১০+ চালানো দরকার say। স্পষ্টতই (এটি একটি চ্যালেঞ্জ) অন্য সমস্ত অনুগত প্রবেশের মতো হুবুহু একই উত্পাদন করে, যা আমি এখানে পুনরাবৃত্তি করতে বিরক্ত করব না। (সংখ্যাটি 10অন্য কোনও মানতে পরিবর্তন করে এটিও তুচ্ছভাবে আকারে পরিবর্তনযোগ্য ))


1
গ্রেট! অনুমানের দ্বারা নয় তবে আমি মনে করি বিচারকদের জন্য বিশেষ পুরষ্কার আপনার জন্য! :)
অ্যাভারোয়েস

6
এটি চশমার পিছনে প্রবাদটি কিক করে, যদি আমি পারতাম তবে +2।
ক্রিস

3
দুঃখিত, তবে নিয়ম অনুসারে, উত্তরগুলি পূরণ হয় না তা অবশ্যই মুছে ফেলা উচিত।
mbomb007


1
আপনি দয়া করে শীর্ষে বৈধ উত্তরটি সরানো এবং একটি শিরোনাম যোগ করতে পারেন?
ডেনিস

13

গল্ফস্ক্রিপ্ট (৩৩ টি অক্ষর)

স্থির-উচ্চতার সংস্করণ:

;8:^' '*.'*'+\'0'+^{.(;'00'+}*]n*

বা ঠিক একই দৈর্ঘ্যের জন্য

;8:^' '*.'*'+n@'0'+^{.n\(;'00'+}*

গাছটি সবার মতোই অসাধারণ দেখাচ্ছে:

        *
        0
       000
      00000
     0000000
    000000000
   00000000000
  0000000000000
 000000000000000
00000000000000000

সংস্করণ যা স্টিডিন থেকে উচ্চতা নেয়:

~((:^' '*.'*'+\'0'+^{.(;'00'+}*]n*

পূর্ববর্তী লাইনের শুরুটি হ'ল আমি একটি "দরকারী" গল্ফস্ক্রিপ্ট প্রোগ্রামে তৈরি করলাম এমন একটি ভাল হাসি।


10

শেল স্ক্রিপ্ট, 44 টি অক্ষর

printf %9c\\n \* 0|sed ':x
p;s/ 0/000/;tx
d'

এই গাছটি মুদ্রণ করে:

        *
        0
       000
      00000
     0000000
    000000000
   00000000000
  0000000000000
 000000000000000
00000000000000000

9

ম্যাপেল, 30/37 অক্ষর

মিঃ উইজার্ডের গাণিতিক প্রবেশে অনুপ্রাণিত হয়ে আমি এই 30-চর ম্যাপেল 12 কমান্ডটি উপস্থাপন করছি:

<`*`,('cat(0$2*i+1)'$i=0..8)>;

আউটপুট:

                              [        *        ]
                              [                 ]
                              [        0        ]
                              [                 ]
                              [       000       ]
                              [                 ]
                              [      00000      ]
                              [                 ]
                              [     0000000     ]
                              [                 ]
                              [    000000000    ]
                              [                 ]
                              [   00000000000   ]
                              [                 ]
                              [  0000000000000  ]
                              [                 ]
                              [ 000000000000000 ]
                              [                 ]
                              [00000000000000000]

আরও সাতটি চরের দাম দিয়ে আমি বন্ধনীগুলি থেকে মুক্তি পেতে পারি:

`*`;for i in$0..8 do;cat(0$2*i+1);od;

আউটপুট বাদ দেওয়া হয়েছে - এটি কেবল উপরের মতো দেখতে কেবল বন্ধনী ব্যতীত। দুর্ভাগ্যক্রমে, আমি ম্যাপেলকে টেক্সট মোডে আউটপুট সারিগুলির মধ্যে ফাঁকা লাইন fromোকানো থেকে কোনও উপায় জানি না। এটি ক্লাসিক ওয়ার্কশিট মোডে আরও ভাল দেখাচ্ছে। আমার ধারণা আমি একটি স্ক্রিনশট অন্তর্ভুক্ত করতে পারি ...

স্ক্রিনশট

(স্ক্রিনশটটি কমান্ডের আগের 44-চরিত্রের সংস্করণ দেখায়, তবে আমি এটি পুনরায় নিতে খুব অলস। আউটপুটটি এখনও একই।

ওহ, এবং হ্যাঁ, আকারটি পুরোপুরি সামঞ্জস্যযোগ্য: কেবল একটি এন- ট্র গাছের জন্য 8 টি এন -2 দিয়ে প্রতিস্থাপন করুন । প্রথম সমাধানের সাথে, 25 টি সারি (বা জিইউআইতে 10) এর ওপরে যেতে যদিও সেটিং ইন্টারফেস (rtablesize = n ) প্রয়োজন, যদিও।

(গীত। আমি ভেবেছিলাম আমি সর্বশেষ সংস্করণ দিয়ে গল্ফস্ক্রিপ্টকে পরাতে পেরেছি তবে হায় হায় ... )


8

পার্ল, 42 টি অক্ষর

say$"x9,"*";say$"x(9-$_),"00"x$_,0for 0..8

আউটপুট:

         *
         0
        000
       00000
      0000000
     000000000
    00000000000
   0000000000000
  000000000000000
 00000000000000000

গাছের উচ্চতা প্রতিস্থাপন 1 ও 11 সারি মধ্যে পরিবর্তন করা যাবে 8থেকে মান শেষে -1থেকে 9। 11 টি সারির উপরে 9যেতে কোডের আগেও দুটি বৃদ্ধি করা প্রয়োজন , যা স্ক্রিনের বাম দিক থেকে গাছটি ইন্টেন্ট করা কতটা নিয়ন্ত্রণ করে।


এটির 11 টি সারি রয়েছে: পি মাইনর পরিবর্তনগুলি আমি অনুমান করি
এভেরোয়েস

@ অ্যাভেরোস: হ্যাঁ, আমি প্রথমে ধরে নিয়েছিলাম এটি 10 ​​টি সারি প্লাস তারকা হওয়ার কথা, তবে তারপরে আমি প্রকৃতপক্ষে নমুনা আউটপুটে সারিগুলি গণনা করে ঠিক করেছি।
ইলমারি করোনেন

8

গ্রোভি, 65

(p={c,r->println' '*(9-r)+(c*(r*2-1))})'*',1;(1..9).each{p'0',it}

আশ্চর্যজনকভাবে, গাছটি দেখতে এমন দেখাচ্ছে:

        *
        0
       000
      00000
     0000000
    000000000
   00000000000
  0000000000000
 000000000000000
00000000000000000

'ট্রি ট্রিপ আউটপুট' অংশটি এই সাইটে কিছু ক্রিসমাস স্পিরিট আনার জন্য: পি
অ্যাভারোয়েস

এছাড়াও, আপনার 11 টি সারিও রয়েছে!
অ্যাভেরোয়েস

আমি উচ্চতা পরামিতি (গুলি) সামঞ্জস্য করে এটি ঠিক করতে পারি!
আরমান্ড

8

রুবি, 46 টি অক্ষর

puts" "*8+?*;9.times{|i|puts"%8s0"%(v=?0*i)+v}

উচ্চতা পরিবর্তন করতে আপনাকে 8s এবং অবশ্যই 9.9 উভয়ই পরিবর্তন করতে হবে প্রোগ্রামটির আউটপুট নিম্নরূপ:

        *
        0
       000
      00000
     0000000
    000000000
   00000000000
  0000000000000
 000000000000000
00000000000000000

সম্পাদনা করুন : অকার্যকরভাবে আমি প্রথম জমা দেওয়ার সময় আউটপুট বাদ দিয়েছি।


1
আপনি আউটপুট পোস্ট করতে ভুলে গেছেন। :)
ইলমারি করোনেন

7

পাওয়ারশেল, 41

" "*8+"*";0..8|%{" "*(8-$_)+"0"+"0"*$_*2}

আশ্চর্যজনকভাবে, অন্য সবার মতো :-p একই গাছটিকে আউটপুট দেয়

যদি আপনি এই 8 টি প্যারামিটারাইজ করেন তবে এটি 48 টি অক্ষর হিসাবে আপনার কনসোলটির আকার পর্যন্ত উপস্থিত হবে :

" "*($w=8)+"*";0..$w|%{" "*($w-$_)+"0"+"0"*$_*2}

বা, একটি পূর্ণ-বর্ধিত স্ক্রিপ্ট হিসাবে যা একটি আর্গুমেন্ট গ্রহণ করে, 53 টি অক্ষর :

param($w)" "*$w+"*";0..$w|%{" "*($w-$_)+"0"+"0"*$_*2}

বলা হয়েছে, দেখে মনে হচ্ছে:

PS>: Get-Tree.ps1 8
        *
        0
       000
      00000
     0000000
    000000000
   00000000000
  0000000000000
 000000000000000
00000000000000000

7

পাইথন 3: 62 টি অক্ষর

print(' '*9+'*',*('\n'+' '*(9-i)+'0'*(i*2+1)for i in range(9)))

আউটপুট:

        * 
        0 
       000 
      00000 
     0000000 
    000000000 
   00000000000 
  0000000000000 
 000000000000000
00000000000000000

নোট করুন যে এটি অ্যান্টের উত্তরটিকে 11 টি অক্ষর দ্বারা প্রহার করে, কারণ সেই উত্তরটি পাইথন 3 এ রূপান্তরিত হওয়ার পরে 73 টি অক্ষর ব্যবহার করে uses

9আলাদা উচ্চতার জন্য প্রতিটিকেই অন্য মানটিতে পরিবর্তন করুন ।


3
আমি মনে করি আপনি এর আগেও জায়গাটি হারাতে পারেন for
Badp

@ বিডপ ধন্যবাদ 63৩ থেকে 63২ এ পরিবর্তন হয়েছে!
কাজার্ক

6

পাইথন, 59

print' '*9+'*'
for i in range(9):print' '*(9-i)+'0'*(i*2+1)

দুর্দান্ত কাজ — এটি দেখায় যে @ অ্যান্টের উত্তর পাইথন 3-তে দীর্ঘতর হলেও আমার পাইথন 3 উত্তরটি পাইথন 2-তে ছোট ( printকোনও ফাংশন নয়) is
কাজার্ক

6

প্রোলগ: 183 বা 186

r(0,_,L,L).
r(N,C,L,[C|T]):-N>0,M is N-1,r(M,C,L,T).
y(S,T,C):-r(T,C,[10],X),r(S,32,X,Y),atom_codes(A,Y),write(A).
x(A,B):-A>0,y(A,B,48),C is A-1,D is B+2,x(C,D).
x(N):-y(N,1,42),x(N,1).

ছাপে:

         *
         0
        000
       00000
      0000000
     000000000
    00000000000
   0000000000000
  000000000000000
 00000000000000000
false.

নির্দিষ্ট দোভাষীদের জন্য আরও চেঁচানো যেতে পারে (যেমন এসডাব্লুআইতে ট্যাব / 1 ব্যবহার করে)

এক্স (এন) দিয়ে দাওয়াত করুন। যেখানে এন হ'ল আসল গাছের সারি সংখ্যা (তারা বাদে)। এটি একটি নির্দিষ্ট উচ্চতা দেওয়া এটিকে 183 এ নামিয়ে আনবে


6

সি

এটি ওয়েড ট্যান্ডির সি সংস্করণ তবে কিছুটা সংশোধিত:

           ;
          int
         main(
        ){int i
       =-1,j=0,c
      =10;while(j
     ++<c){printf(
    " ");}{;printf(
   "*");}while(++i<c
  ){for(j=-2;++j<c-i;
 )printf(" ");for(j=0;
++j<2*i;){printf("0");}
          ;;;
        printf(
         "\n")
          ;}}


5

অ্যাপলসফট বেসিক, ১৪৩ টি অক্ষর

যেহেতু এই প্রশ্নটি আমাকে হাইস্কুলে ফিরে এসেছিল একটি হোম ওয়ার্ক কার্যভারের কথা মনে করিয়ে দেয় (যখন তারা কোনও অ্যাপল // ই তে পড়াচ্ছিল):

1INPUTH:X=(H*2)-2:C=(X/2):S$="*":O=0:GOSUB2:S$="0":FORO=0TOX-2STEP2:GOSUB2:NEXT:END
2FORS=0TOC-(O/2):?" ";:NEXT:FORI=0TOO:?S$;:NEXT:?"":RETURN

আমি এখানে পাওয়া জাভাস্ক্রিপ্ট অ্যাপ্লসফট বেসিক ব্যবহার করেছি: http://www.calormen.com/applesoft/

আউটপুট:

?10
          *
          0
         000
        00000
       0000000
      000000000
     00000000000
    0000000000000
   000000000000000
  00000000000000000

5

প্রোলোগ: 127 টি অক্ষর

p:-write('        *'),h(1).
h(L):-(L<10,nl,w(L,-8),h(L+1));!.
w(L,N):-(N<9,N<L,(L>abs(N)->write('0');write(' ')),w(L,N+1));!.

আউটপুট:

        *
        0
       000
      00000
     0000000
    000000000
   00000000000
  0000000000000
 000000000000000
00000000000000000
true 

ব্যবহৃত হয়েছে Prologকারণ আমি Groovyতার কোডটি না দেখিয়ে রেকর্ডটি হারাতে পারিনি :(।


5

পোস্টস্ক্রিপ্ট (পরামিতি উচ্চতা সহ), 114 টি অক্ষর

/h 9 def/b{{( )=print}repeat}def
h -1 0{dup h eq{dup b(*)=}if dup b h sub neg 2 mul 1 add{(0)=print}repeat()=}for

আউটপুট:

         *
         0
        000
       00000
      0000000
     000000000
    00000000000
   0000000000000
  000000000000000
 00000000000000000
0000000000000000000

কি, আপনি এটি মুদ্রণ চেয়েছিলেন?


4

জাভাস্ক্রিপ্ট (রাইনো: 108, নোড: 114, ওয়েবকিট দেব কনসোল: 119, jQuery প্লাগইন: 132)


গণ্ডারটি সবচেয়ে সংক্ষিপ্ত (108 টি অক্ষরে) কারণ (ক) এর printফাংশনটির একটি সংক্ষিপ্ত নাম রয়েছে এবং (খ) এটি আপনাকে বিল্ট-ইন ফাংশনগুলি একটি সংক্ষিপ্ত পরিবর্তনশীল নামের সাথে নিযুক্ত করতে দেবে। তাই:

h=10,p=print,m='0',a=Array(h-1),s=a.join(' ');p(s+'*\n'+s+m);while(h-->2){m+='00';a.pop();p(a.join(' ')+m);}


নোড.জেএস একটি নিকটে দ্বিতীয় স্থানে আসে (১১৪ টি অক্ষরে) কারণ এর মুদ্রণ ফাংশনটির console.logদীর্ঘ নাম রয়েছে, তবে এটি আমাদের এটি একটি সংক্ষিপ্ত পরিবর্তনশীলকেও বরাদ্দ করতে দেবে:

h=10,p=console.log,m='0',a=Array(h-1),s=a.join(' ');p(s+'*\n'+s+m);while(h-->2){m+='00';a.pop();p(a.join(' ')+m);}


তবে ওয়েবকিট ডেভ কনসোল (এবং সম্ভবত ফায়ারব্যাগও) মনে করেন p=console.logএটি কিছুটা খুব স্পর্শকাতর (যখন আপনি কল করার চেষ্টা করবেন p(), তখন এটি আপনার কাছে অভিযোগ করবে)। সুতরাং, আমাদের 119 টি অক্ষর পর্যন্ত জিনিসগুলি দীর্ঘ করতে হবে:

h=10,m='0',a=Array(h-1),s=a.join(' ');with(console){log(s+'*\n'+s+m);while(h-->2){m+='00';a.pop();log(a.join(' ')+m);}}

(মজার বিষয়, withশুধুমাত্র আমাদের একটি চরিত্র সংরক্ষণ করে)।


শেষ অবধি ... একটি jQuery প্লাগইন (132 টি অক্ষরে এখনও টুইটযোগ্য):

$.fn.xms=function(h){var m='0',w=2,l=['*',m];while(w++<h)l.push(m+='00');$(this).css({textAlign:'center'}).html(l.join('\n<br/>'));}

এবং আপনি এটি একেবারে পৃষ্ঠার ফুটারে প্রার্থনা করতে পারেন: $('#footer').xms(3)

অবশ্যই এটি প্লাগইন হওয়ার দরকার নেই ... যেহেতু সম্ভবত এটি একটি পৃষ্ঠাতে যুক্ত করার জন্য এবং এটির অনুরোধ করার জন্য আমাদের একটি জাভাস্ক্রিপ্ট কনসোল ব্যবহার করতে হবে, আমরা কেবল jQuery এর স্নিপেটটি করতে পারতাম :

h=10,m='0',w=2,l=['*',m];while(w++<h)l.push(m+='00');$('#footer').css({textAlign:'center'}).html(l.join('\n<br/>'));

যা আরও বেশি প্রতিযোগিতামূলক ১১6 টি চরিত্রের ওজনের হয় - বাস্তবে, এটি অন্য দেব কনসোল প্রয়োগকে পরাজিত করে। তবে, আবার, jQuery এবং / অথবা ব্রাউজারের লেআউট ইঞ্জিন ব্যবহার করা প্রতারণা হিসাবে বিবেচিত হতে পারে। :)


4

সি, 67

আমি জানি এটি দীর্ঘ হয়ে গেছে, তবে কোড গল্ফে এটি আমার প্রথম প্রচেষ্টা এবং আমি মনে করি আমি খুব সুন্দর সি সমাধান পেয়েছি।

মজার বিষয় হল, আমি @ প্যাট্রিকের খুব অনুরূপ সমাধানটি স্বাধীনভাবে এনেছি।

এবং হ্যাঁ, আমি আমার হার্ডকোডযুক্ত মানগুলির সাথে কোনও সম্পর্ক জিতব না;) যাইহোক, আমি বেশ সন্তুষ্ট।

i;main(){for(;i<10;++i)printf("%*s%0*c\n",i?9-i:8,"",i*2,i?32:42);}
        *
        0
       000
      00000
     0000000
    000000000
   00000000000
  0000000000000
 000000000000000
00000000000000000
চালু রাখবার জন্য যেকোনো বোতাম চাপুন . । ।

4

আকাশবাণী

select lpad('*', 11) from dual
union all
select rpad(' ', 10 - level) || rpad(' ', level * 2, '0') from dual
connect by level <= 9;


          *
          0
         000
        00000
       0000000
      000000000
     00000000000
    0000000000000
   000000000000000
  00000000000000000

10 rows selected.

4

পিএইচপি, 106 টি অক্ষর

আগের তুলনায় 7 কম:

<?php echo str_pad(' ',9)."*\n";for($i=0;$i<9;$i++){echo str_pad("",9-$i).str_pad("",($i*2)+1,"0")."\n";}

2
সংক্ষিপ্ত ট্যাগগুলি সক্ষম করুন এবং নিজেকে 3 টি অক্ষর সংরক্ষণ করুন, বা ব্যবহার করুন <?=এবং "প্রতিধ্বনি" থেকে আরও 5 টি সংরক্ষণ করুন।
ব্রম্বম্বম্ব

আমি জানি আমি 8 মাস দেরি করে ফেলেছি, কিন্তু codegolf.stackexchange.com/a/6783/4967 :)
লে

4

LOLCODE, 527 বাইট

CAN HAS STDIO?
HAI 1.2
IM IN YR LOOP UPPIN YR VAR TIL BOTH SAEM VAR AN 8
    VISIBLE " "!
IM OUTTA YR LOOP
VISIBLE "*"
I HAS A SPACES
SPACES R 8
I HAS A ZEROS
ZEROS R 1
IM IN YR LOOP UPPIN YR VAR TIL BOTH SAEM VAR AN 9
    IM IN YR LOOP UPPIN YR VAR2 TIL BOTH SAEM VAR2 AN SPACES
        VISIBLE " "!
    IM OUTTA YR LOOP
    IM IN YR LOOP UPPIN YR VAR2 TIL BOTH SAEM VAR2 AN ZEROS 
        VISIBLE "0"!
    IM OUTTA YR LOOP
    VISIBLE ""
    SPACES R DIFF OF SPACES AN 1
    ZEROS R SUM OF ZEROS AN 2
IM OUTTA YR LOOP
KTHXBYE

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

আউটপুট:

        *
        0
       000
      00000
     0000000
    000000000
   00000000000
  0000000000000
 000000000000000
00000000000000000

1
এটি কোড-গল্ফ , সুতরাং দয়া করে আপনার জমা দেওয়ার বাইট গণনা শিরোনামে যুক্ত করুন।
lirtosiast

4

পাইথন, 70 টি অক্ষর

এত ছোট নয়, তবে পুনরাবৃত্ত সমাধান :-)

def a(s):
 print s
 if s<"0":a(s[1:]+"00")
print" "*8+"*"
a(" "*8+"0")

উচ্চতা সেট করতে 8 এর পরিবর্তন করুন।


4

জাভাস্ক্রিপ্ট, ১১৯ টি অক্ষর

ফায়ারব্যাগ কনসোল আউটপুট

i=h=9;a=new Array(h);a[0]=a.join(' ');b=a.join('000');a[0]+='*';while(i)a[i--]=b.substr(i,h+i);console.log(a.join('\n'))


        *
        0
       000
      00000
     0000000
    000000000
   00000000000
  0000000000000
 000000000000000
00000000000000000

2
এটি আসলে 120 টি অক্ষর।
রব ফক্স 13

3

পিএইচপি 113

আমি পিএইচপি সংস্করণ দিয়ে চিম ইন করব ভেবেছি:

১১৩ টি অক্ষর ( $hউচ্চতা পরিবর্তন করতে সামঞ্জস্য করুন , রেখার সংখ্যাটিতে তারা রয়েছে):

$h=10;for($n=0;$n<$h;$n++){$i=$n>0?$n:1;$c=$n<1?"*":"0";echo str_repeat(" ",$h-$i).str_repeat($c,($i*2)-1)."\n";}

আমি এটি সংক্ষিপ্ত করার চেষ্টা করেছি, পাঠযোগ্য নয় এবং আমরা ইতিমধ্যে জানতাম পিএইচপি সংক্ষিপ্ততার প্রতিযোগিতা করতে পারে না তাই এটি কোনও কিছুই জিততে পারে না, এখনও একটি মজার ছোট্ট ধাঁধা।

আউটপুট যেমন অনুমান করা হয়:

        *
        0
       000
      00000
     0000000
    000000000
   00000000000
  0000000000000
 000000000000000
00000000000000000

103 টি অক্ষর, একটি লিটল আরও কিছু হার্ডকোডিং (আপনি এই মন্তব্যের অভ্যন্তরে প্রথম প্রতিধ্বনিতে স্পেসগুলি দেখতে পাচ্ছেন না) for n = 0; প্রতিধ্বনি "* \ n"; এর জন্য (= i = 9; $ i> 0; $ i -, str_repeat ('', $ i) মুদ্রণ করুন str r_repeat ('0', $ n + 9- $ i) "" \ n ", $ n ++);
লুসিয়া

আপনি যদি গাছের উচ্চতা পরিবর্তন করেন তবে আপনার হার্ডকোডযুক্ত প্রথম লাইন ভারসাম্যের বাইরে চলে যাবে :-(
ক্রিস

3

সি, 77

i;main(c){printf("%*c\n",c,42);while(i<c)printf("%*s%0*d\n",c-i,"",i++*2+1,0);}

প্রিন্টফ স্পেসটি আরও মনোযোগ সহকারে পড়ার আগে আমার এই ছোট্ট সংখ্যাটি 138 টিতে নেমেছিল:

#define x sprintf(b,
#define y printf(b,
i;main(c){char b[9]="%%%dc\n",*t="%%%ds%%0%dd\n";x b,c);y 42);while(i<c)x t,c-i,i++*2+1),y "",0);}

3

জাভা, 192 (198 এর সাথে প্যারাম)

class V{public static void main(String[]a){int c=10,i=-1,j=0;String s="";while(j++<c)s+=" ";s+="*";while(++i<c){for(j=-2;++j<c-i;)s+=" ";for(j=0;++j<2*i;)s+="0";System.out.println(s);s="";}}}

অনুরোধ করা গাছ মুদ্রণ করে:

        *           
        0
       000
      00000
     0000000
    000000000
   00000000000
  0000000000000
 000000000000000
00000000000000000

পরিবর্তনশীল উচ্চতার জন্য, কিছুটা দীর্ঘ:

class W{public static void main(String[]a){int c=a.length,i=-1,j=0;String s="";while(j++<c)s+=" ";s+="*";while(++i<c){for(j=-2;++j<c-i;)s+=" ";for(j=0;++j<2*i;)s+="0";System.out.println(s);s="";}}}

কমান্ড লাইন আর্গুমেন্ট তালিকার দৈর্ঘ্য উচ্চতা নির্ধারণ করে (উদাহরণস্বরূপ java W a a a a aউচ্চতা 5 দেবে)।

(এটি মূলত ওয়েড ট্যান্ডির সি সমাধানের জাভা সংস্করণ))


আমি এই একটি সময় আগে পোস্ট করা হয়েছে জানি :) কিন্তু এখানে দুটি জিনিস আমি দেখতে হয়: 1. আপনি জাভা 8 একটি বর্গ পরিবর্তে একটি ইন্টারফেস ব্যবহার করতে পারেন দুটি অক্ষর সংরক্ষণ করতে 2., while (++i < c) {-> for (s += "*";++i < c;s = "") {এবং অপসারণ s += "*";এবংs = "";
Reinis Mazeiks

3

Vim, 18 বাইট

17i0<esc>qqYPxr q8@qa*

পিছনে সামঞ্জস্যপূর্ণ ভি ইন্টারপ্রেটারে এটি অনলাইন ব্যবহার করে দেখুন !

যদিও এটি আমার ভি উত্তর হিসাবে একেবারে অনুরূপ দৃষ্টিভঙ্গি, এটি ভিএম পাগল হওয়ার কারণে এটি কোনও প্রতিযোগিতামূলক নয় । :)

ব্যাখ্যা:

17i0<esc>               " Insert 17 '0's
         qq     q       " Start recording into register 'q'
           YP           " Duplicate this line upwards
             x          " Delete one character
              r         " Replace this character with a space
                 8@q    " Playback macro 'q' 8 times
                    a*  " Append an asterisk

3

স্কালা, 74 বাইট

val h=10;println(" "*h+"*");for(i<-0 to h-2)println(" "*(h-i)+"0"*(i*2+1))

h - গাছের উচ্চতা

আউটপুট

        *          
        0          
       000         
      00000        
     0000000       
    000000000      
   00000000000     
  0000000000000    
 000000000000000   
00000000000000000  

2

সি, 80

i=9,k=10,j;main(F){while(i)putchar(++j<i?32:j<k?48-F*6:(i-=!F,k+=!F,F=j=0,10));}

গাছের উচ্চতা থেকে কে শুরু করুন, আমি থেকে কে -1। এফ প্রথম লাইনের পতাকা। কোনও যুক্তি দেওয়া হয়নি, তবে প্রবেশের সময় এফ 1 হওয়া উচিত।

কিছুটা দীর্ঘতর (81) সংস্করণ যেখানে f প্রথম লাইনের পতাকা নয়:

i=9,k=10,j,f;main(){while(i)putchar(++j<i?32:j<k?42+f*6:(i-=f,k+=f,f=1,j=0,10));}
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.