Pascal's tree-angle
J, 67 bytes
(1785951#:~13#7)(0(,~' '#~12-<.@-:@#)@":-@[}.}.)&>1;2}.<@(!{:)\i.14
The pascal's triangle part is adapted from @ephemient's answer here.
Try it online!
How it works
<@(!{:)\i.14
The first 14 rows of the triangle.
1;2}.
Drop the first two rows, prepend 1.
(1785951#:~13#7)
0 0 0 0 0 2 1 1 1 5 5 6 6
stored in base 7.
":-@[}.}.)&>1
Unbox, drop the first N and last N elements from each row, where N is the corresponding item from the base 7 array before.
0(…)@":
Convert each row to string and …
12-<.@-:@#
Count its length, halve and round it down.
,~' '#~
Prepend that amount of spaces before each row.
Python 2, 118 bytes
n=1
exec"a=n/6+n/10*4+(n==6);print' '.join(str(((2**n+1)**n>>n*k)%2**n)for k in range(a,n+1%n-a)).center(23);n+=1;"*13
Try it online!
Expresses binomial coefficients inline like in my tip here with binom(n,k)=((2**n+1)**n>>n*k)%2**n
. The number of entries cut off on each side for the n'th row (one-indexed) is expressed as n/6+n/10*4+(n==6)
. For the first row, one additional entry on the right is cut off.
Here's a slightly more readable version without an exec so that the syntax highlighting works:
119 bytes
n=1
while n<14:a=n/6+n/10*4+(n==6);print' '.join(str(((2**n+1)**n>>n*k)%2**n)for k in range(a,n+1%n-a)).center(23);n+=1
Try it online!
05AB1E, 26 bytes
13LεDÝc•6hö¢ðU•RNèF¦¨]»¦.c
Try it online.
Explanation:
13L # Push a list in the range [1,13]
ε # Map each value `y` to:
D # Duplicate the value `y`
Ý # Pop and push a list in the range [0,`y`]
c # Take the binomial coefficient of `y` with each value in this list
# (we now have the 0-based `y`'th Pascal row)
•6hö¢ðU• # Push compressed integer 6655111200000
R # Reverse it to "0000021115566"
Nè # Index the map-index into it to get the `N`'th digit
F # Loop that many times:
¦¨ # Remove both the first and last item of the current Pascal row list
] # Close both the inner loop and map
» # Join each inner list by spaces, and then each string by newlines
¦ # Remove the leading 1 on the very first line
.c # Left-focused centralize the newline-delimited string
# (after which the result is output implicitly)
See this 05AB1E tip of mine (section How to compress large integers?) to understand why •6hö¢ðU•
is 6655111200000
.