Communities

Writing
Writing
Codidact Meta
Codidact Meta
The Great Outdoors
The Great Outdoors
Photography & Video
Photography & Video
Scientific Speculation
Scientific Speculation
Cooking
Cooking
Electrical Engineering
Electrical Engineering
Judaism
Judaism
Languages & Linguistics
Languages & Linguistics
Software Development
Software Development
Mathematics
Mathematics
Christianity
Christianity
Code Golf
Code Golf
Music
Music
Physics
Physics

Dashboard
Notifications
Mark all as read
Challenges

Print the Great Numeric Pyramid

+10
−0

Print or return this exact text:

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

The number represents the distance of the cell from the closest edge.

Trailing whitespace on each line is acceptable. A newline on the last line is optional.

Why does this post require moderator attention?
You might want to add some details to your flag.
Why should this post be closed?

0 comments

4 answers

+5
−0

Python 2, 76 bytes

i=27
while~i:print' '*i+' '.join(`min(i,j,27-i-j)`for j in range(28-i));i-=1

Try it online!

Computes the digit in row i from the bottom, position j as min(i,j,27-i-j).

For comparison, a bad effect to compute the row numbers arithmetically, made harder by the presence of leading zeroes:

109 bytes

for i in range(28):print" "*(27-i)+" ".join(str(10**min(27-i,i/2)/9*(10**max(2*i-27,-~i/2)/9)*10).zfill(i+1))

Try it online!

Why does this post require moderator attention?
You might want to add some details to your flag.

0 comments

+4
−0

JavaScript (Node.js), 137 136 117 bytes

with(Math)f=n=>(m=(a,b)=>a?m(--a,b)+b(a):[])(28,y=>m(55,x=>x>26-y&x<y+28&(x^y)?min(abs(abs(27-x)-y)/2,27-y):' ')+`
`)

Try it online!

Why does this post require moderator attention?
You might want to add some details to your flag.

1 comment

Multiple well-golfed JavaScript answers on all the questions. I wonder who this is.. Razetime‭ 5 months ago

+4
−0

Japt -R, 27 22 bytes

27òÈn28 ÇmX27-X-ZøÃÔû

Test it

Lots of credit goes to xnor for finding the min(i,j,27-i-j) trick.

-5 bytes thanks to @Shaggy

Why does this post require moderator attention?
You might want to add some details to your flag.

4 comments

22 bytes but I'm sure it can be improved further. I wonder would just building the left-hand side and then palindromising work out shorter? Shaggy‭ 5 months ago

@shaggy Is it possible to palindromise the 78987 line? Wouldn't 9 get repeated, invalidating the answer? Corsaka‭ 5 months ago

@Corsaka, In Japt you can palindromise with or, by default, without repeating the middle character/element. Shaggy‭ 5 months ago

Ah, command for center padding, nice, thanks @Shaggy you learn something new every day Quintec‭ 5 months ago

+3
−0

Canvas, 19 bytes

‾-{{╷¹²-m‾-¹-m] *]/

Try it here!

‾-{{╷¹²-m‾-¹-m] *]/  Program, ascii-fied for monospacing
‾-                   push 28
  {              ]   for 1…28 (pushing counter & saving in ¹):
   {          ]        for 1…counter (pushing counter & saving in ²):
    ╷                    decrement the counter
     ¹²-                 push ¹-²
        m                minimum of top 2; min(²-1, ¹-²)
         ‾-¹-            push 28-¹
             m           minimum of top 2; min(²-1, ¹-², 28-¹)
                *      separate items with spaces
                  /  pad lines with spaces to form a space diagonal on the left
Why does this post require moderator attention?
You might want to add some details to your flag.

0 comments

Sign up to answer this question »

This community is part of the Codidact network. We have other communities too — take a look!

You can also join us in chat!

Want to advertise this community? Use our templates!