Make me a metasequenceMake a pattern alternateGenerate Loopy puzzlesMake a one sequenceA register calculator challengeGenerate E-series of preferred numbersIncrementing Gray CodesDraw the Ingress glyphsExponentiation SequenceMake an n-JugglerIndent your code according to Fibonacci

Is every open circuit a capacitor?

What does each site of a vanilla 9.1 installation do?

Is the NES controller port identical to the port on a Wii remote?

How do you say “my friend is throwing a party, do you wanna come?” in german

Why do phishing e-mails use faked e-mail addresses instead of the real one?

What is the difference between a forward slip and a side slip?

Can an earth elemental drown/bury its opponent underground using earth glide?

Can I solder 12/2 Romex to extend wire 5 ft?

Citing contemporaneous (interlaced?) preprints

Where is the fallacy here?

Split a number into equal parts given the number of parts

Where is the line between being obedient and getting bullied by a boss?

In which way proportional valves are controlled solely by current?

Should I use HTTPS on a domain that will only be used for redirection?

School performs periodic password audits. Is my password compromised?

Lock enemy's y-axis when using Vector3.MoveTowards to follow the player

Did Amazon pay $0 in taxes last year?

Do AL rules let me pick different starting equipment?

How to fix my table, centering of columns

Book about a time-travel war fought by computers

Why did the Cray-1 have 8 parity bits per word?

Every subset equal to original set?

Are there other characters in the Star Wars universe who had damaged bodies and needed to wear an outfit like Darth Vader?

Create chunks from an array



Make me a metasequence


Make a pattern alternateGenerate Loopy puzzlesMake a one sequenceA register calculator challengeGenerate E-series of preferred numbersIncrementing Gray CodesDraw the Ingress glyphsExponentiation SequenceMake an n-JugglerIndent your code according to Fibonacci













24












$begingroup$


Background



For this challenge, a 'metasequence' will be defined as a sequence of numbers where not only the numbers themselves will increase, but also the increment, and the increment will increase by an increasing value, etc.



For instance, the tier 3 metasequence would start as:



1 2 4 8 15 26 42 64 93 130 176



because:



 1 2 3 4 5 6 7 8 9 >-|
↓+↑ = 7 | Increases by the amount above each time
1 2 4 7 11 16 22 29 37 46 >-| <-|
| Increases by the amount above each time
1 2 4 8 15 26 42 64 93 130 176 <-|


Challenge



Given a positive integer, output the first twenty items of the metasequence of that tier.



Test cases



Input: 3 Output: [ 1, 2, 4, 8, 15, 26, 42, 64, 93, 130, 176, 232, 299, 378, 470, 576, 697, 834, 988, 1160 ]



Input: 1 Output: [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20 ]



Input: 5 Output: [ 1, 2, 4, 8, 16, 32, 63, 120, 219, 382, 638, 1024, 1586, 2380, 3473, 4944, 6885, 9402, 12616, 16664 ]



Input: 13 Output: [ 1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096, 8192, 16383, 32752, 65399, 130238, 258096, 507624 ]



As you may realise, the first $t+1$ items of each sequence of tier $t$ are the first $t+1$ powers of 2...



Rules



  • Standard loopholes apply

  • This is code-golf, so shortest answer in bytes wins









share|improve this question











$endgroup$







  • 2




    $begingroup$
    I assume you mean 20 terms, not digits?
    $endgroup$
    – Quintec
    2 days ago






  • 4




    $begingroup$
    By the way, the tier three metasequence is OEIS A000125
    $endgroup$
    – Embodiment of Ignorance
    2 days ago






  • 6




    $begingroup$
    You may want to clarify if solutions have to work for input 20 or greater.
    $endgroup$
    – FryAmTheEggman
    2 days ago






  • 4




    $begingroup$
    Can we choose to 0-index (so, output tier 1 for input 0, tier 2 for input 1, etc.)?
    $endgroup$
    – Lynn
    2 days ago






  • 1




    $begingroup$
    @MilkyWay90, it's not very clear what you mean: 219 (from level 5) only occurs in Pascal's triangle as $binom2191$ and $binom219218$.
    $endgroup$
    – Peter Taylor
    yesterday















24












$begingroup$


Background



For this challenge, a 'metasequence' will be defined as a sequence of numbers where not only the numbers themselves will increase, but also the increment, and the increment will increase by an increasing value, etc.



For instance, the tier 3 metasequence would start as:



1 2 4 8 15 26 42 64 93 130 176



because:



 1 2 3 4 5 6 7 8 9 >-|
↓+↑ = 7 | Increases by the amount above each time
1 2 4 7 11 16 22 29 37 46 >-| <-|
| Increases by the amount above each time
1 2 4 8 15 26 42 64 93 130 176 <-|


Challenge



Given a positive integer, output the first twenty items of the metasequence of that tier.



Test cases



Input: 3 Output: [ 1, 2, 4, 8, 15, 26, 42, 64, 93, 130, 176, 232, 299, 378, 470, 576, 697, 834, 988, 1160 ]



Input: 1 Output: [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20 ]



Input: 5 Output: [ 1, 2, 4, 8, 16, 32, 63, 120, 219, 382, 638, 1024, 1586, 2380, 3473, 4944, 6885, 9402, 12616, 16664 ]



Input: 13 Output: [ 1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096, 8192, 16383, 32752, 65399, 130238, 258096, 507624 ]



As you may realise, the first $t+1$ items of each sequence of tier $t$ are the first $t+1$ powers of 2...



Rules



  • Standard loopholes apply

  • This is code-golf, so shortest answer in bytes wins









share|improve this question











$endgroup$







  • 2




    $begingroup$
    I assume you mean 20 terms, not digits?
    $endgroup$
    – Quintec
    2 days ago






  • 4




    $begingroup$
    By the way, the tier three metasequence is OEIS A000125
    $endgroup$
    – Embodiment of Ignorance
    2 days ago






  • 6




    $begingroup$
    You may want to clarify if solutions have to work for input 20 or greater.
    $endgroup$
    – FryAmTheEggman
    2 days ago






  • 4




    $begingroup$
    Can we choose to 0-index (so, output tier 1 for input 0, tier 2 for input 1, etc.)?
    $endgroup$
    – Lynn
    2 days ago






  • 1




    $begingroup$
    @MilkyWay90, it's not very clear what you mean: 219 (from level 5) only occurs in Pascal's triangle as $binom2191$ and $binom219218$.
    $endgroup$
    – Peter Taylor
    yesterday













24












24








24


0



$begingroup$


Background



For this challenge, a 'metasequence' will be defined as a sequence of numbers where not only the numbers themselves will increase, but also the increment, and the increment will increase by an increasing value, etc.



For instance, the tier 3 metasequence would start as:



1 2 4 8 15 26 42 64 93 130 176



because:



 1 2 3 4 5 6 7 8 9 >-|
↓+↑ = 7 | Increases by the amount above each time
1 2 4 7 11 16 22 29 37 46 >-| <-|
| Increases by the amount above each time
1 2 4 8 15 26 42 64 93 130 176 <-|


Challenge



Given a positive integer, output the first twenty items of the metasequence of that tier.



Test cases



Input: 3 Output: [ 1, 2, 4, 8, 15, 26, 42, 64, 93, 130, 176, 232, 299, 378, 470, 576, 697, 834, 988, 1160 ]



Input: 1 Output: [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20 ]



Input: 5 Output: [ 1, 2, 4, 8, 16, 32, 63, 120, 219, 382, 638, 1024, 1586, 2380, 3473, 4944, 6885, 9402, 12616, 16664 ]



Input: 13 Output: [ 1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096, 8192, 16383, 32752, 65399, 130238, 258096, 507624 ]



As you may realise, the first $t+1$ items of each sequence of tier $t$ are the first $t+1$ powers of 2...



Rules



  • Standard loopholes apply

  • This is code-golf, so shortest answer in bytes wins









share|improve this question











$endgroup$




Background



For this challenge, a 'metasequence' will be defined as a sequence of numbers where not only the numbers themselves will increase, but also the increment, and the increment will increase by an increasing value, etc.



For instance, the tier 3 metasequence would start as:



1 2 4 8 15 26 42 64 93 130 176



because:



 1 2 3 4 5 6 7 8 9 >-|
↓+↑ = 7 | Increases by the amount above each time
1 2 4 7 11 16 22 29 37 46 >-| <-|
| Increases by the amount above each time
1 2 4 8 15 26 42 64 93 130 176 <-|


Challenge



Given a positive integer, output the first twenty items of the metasequence of that tier.



Test cases



Input: 3 Output: [ 1, 2, 4, 8, 15, 26, 42, 64, 93, 130, 176, 232, 299, 378, 470, 576, 697, 834, 988, 1160 ]



Input: 1 Output: [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20 ]



Input: 5 Output: [ 1, 2, 4, 8, 16, 32, 63, 120, 219, 382, 638, 1024, 1586, 2380, 3473, 4944, 6885, 9402, 12616, 16664 ]



Input: 13 Output: [ 1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096, 8192, 16383, 32752, 65399, 130238, 258096, 507624 ]



As you may realise, the first $t+1$ items of each sequence of tier $t$ are the first $t+1$ powers of 2...



Rules



  • Standard loopholes apply

  • This is code-golf, so shortest answer in bytes wins






code-golf math sequence subsequence






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited 2 days ago







Geza Kerecsenyi

















asked 2 days ago









Geza KerecsenyiGeza Kerecsenyi

33413




33413







  • 2




    $begingroup$
    I assume you mean 20 terms, not digits?
    $endgroup$
    – Quintec
    2 days ago






  • 4




    $begingroup$
    By the way, the tier three metasequence is OEIS A000125
    $endgroup$
    – Embodiment of Ignorance
    2 days ago






  • 6




    $begingroup$
    You may want to clarify if solutions have to work for input 20 or greater.
    $endgroup$
    – FryAmTheEggman
    2 days ago






  • 4




    $begingroup$
    Can we choose to 0-index (so, output tier 1 for input 0, tier 2 for input 1, etc.)?
    $endgroup$
    – Lynn
    2 days ago






  • 1




    $begingroup$
    @MilkyWay90, it's not very clear what you mean: 219 (from level 5) only occurs in Pascal's triangle as $binom2191$ and $binom219218$.
    $endgroup$
    – Peter Taylor
    yesterday












  • 2




    $begingroup$
    I assume you mean 20 terms, not digits?
    $endgroup$
    – Quintec
    2 days ago






  • 4




    $begingroup$
    By the way, the tier three metasequence is OEIS A000125
    $endgroup$
    – Embodiment of Ignorance
    2 days ago






  • 6




    $begingroup$
    You may want to clarify if solutions have to work for input 20 or greater.
    $endgroup$
    – FryAmTheEggman
    2 days ago






  • 4




    $begingroup$
    Can we choose to 0-index (so, output tier 1 for input 0, tier 2 for input 1, etc.)?
    $endgroup$
    – Lynn
    2 days ago






  • 1




    $begingroup$
    @MilkyWay90, it's not very clear what you mean: 219 (from level 5) only occurs in Pascal's triangle as $binom2191$ and $binom219218$.
    $endgroup$
    – Peter Taylor
    yesterday







2




2




$begingroup$
I assume you mean 20 terms, not digits?
$endgroup$
– Quintec
2 days ago




$begingroup$
I assume you mean 20 terms, not digits?
$endgroup$
– Quintec
2 days ago




4




4




$begingroup$
By the way, the tier three metasequence is OEIS A000125
$endgroup$
– Embodiment of Ignorance
2 days ago




$begingroup$
By the way, the tier three metasequence is OEIS A000125
$endgroup$
– Embodiment of Ignorance
2 days ago




6




6




$begingroup$
You may want to clarify if solutions have to work for input 20 or greater.
$endgroup$
– FryAmTheEggman
2 days ago




$begingroup$
You may want to clarify if solutions have to work for input 20 or greater.
$endgroup$
– FryAmTheEggman
2 days ago




4




4




$begingroup$
Can we choose to 0-index (so, output tier 1 for input 0, tier 2 for input 1, etc.)?
$endgroup$
– Lynn
2 days ago




$begingroup$
Can we choose to 0-index (so, output tier 1 for input 0, tier 2 for input 1, etc.)?
$endgroup$
– Lynn
2 days ago




1




1




$begingroup$
@MilkyWay90, it's not very clear what you mean: 219 (from level 5) only occurs in Pascal's triangle as $binom2191$ and $binom219218$.
$endgroup$
– Peter Taylor
yesterday




$begingroup$
@MilkyWay90, it's not very clear what you mean: 219 (from level 5) only occurs in Pascal's triangle as $binom2191$ and $binom219218$.
$endgroup$
– Peter Taylor
yesterday










28 Answers
28






active

oldest

votes


















19












$begingroup$


Wolfram Language (Mathematica), 34 bytes



0~Range~19~Binomial~i~Sum~i,0,#&


Try it online!



The tier $n$ metasequence is the sum of the first $n+1$ elements of each row of the Pascal triangle.






share|improve this answer











$endgroup$








  • 1




    $begingroup$
    There's almost a built-in for that, but unfortunately it's longer.
    $endgroup$
    – Peter Taylor
    yesterday






  • 1




    $begingroup$
    I don't know enough WL to do anything useful in it, but it seems to me that it might benefit from the identity $$T(n,k) = begincases1 & textrmif k=0 \ 2T(n,k-1) - binomk-1n & textrmotherwiseendcases$$
    $endgroup$
    – Peter Taylor
    yesterday



















15












$begingroup$


Haskell, 35 bytes





take 20.(iterate(scanl(+)1)[1..]!!)


Try it online! Uses 0-indexed inputs (f 4 returns tier 5.)




Haskell, 36 bytes





f 1=[1..20]
f n=init$scanl(+)1$f$n-1


Try it online! Uses 1-indexed inputs (f 5 returns tier 5.)



Explanation



scanl (+) 1 is a function that takes partial sums of a list, starting from (and prepending) 1.




For example: scanl (+) 1 [20,300,4000] equals [1,21,321,4321].




It turns out that tier $n$ is just this function applied $ (n-1) $ times to the list $[1,2,3,dots]$.



(Or equivalently: $n$ times to a list of all ones.)



We use either init or [1..20-n] to account for the list getting longer by $1$ every application.






share|improve this answer











$endgroup$








  • 1




    $begingroup$
    [1..20-n] isn't going to work for $n > 20$
    $endgroup$
    – Peter Taylor
    yesterday










  • $begingroup$
    take 20.(iterate(scanl(+)1)[1..]!!) would only cost a byte more to fix that
    $endgroup$
    – H.PWiz
    yesterday






  • 1




    $begingroup$
    Your pointfree answer can be back to 34 bytes using your other answer: (iterate(init.scanl(+)1)[1..20]!!).
    $endgroup$
    – xnor
    18 hours ago


















8












$begingroup$


Jelly, 8 7 bytes



20ḶcþŻS


Try it online!



 cþ Table of binom(x,y) where:
20Ḷ x = [0..19]
Ż y = [0..n] e.g. n=3 → [[1, 1, 1, 1, 1, 1, …]
[0, 1, 2, 3, 4, 5, …]
[0, 0, 1, 3, 6, 10, …]
[0, 0, 0, 1, 4, 10, …]]

S Columnwise sum. → [1, 2, 4, 8, 15, 26, …]


This uses @alephalpha’s insight that $$textmeta-sequence_n(i) = sum_k=0^n binom ik.$$






share|improve this answer











$endgroup$












  • $begingroup$
    That is brutally succint. Just awesome.
    $endgroup$
    – don bright
    17 hours ago


















5












$begingroup$


Python 2, 69 58 55 bytes



Saved bytes thanks to ovs and Jo King; also, it works in Python 3 now as well.





m=lambda t:[1+sum(m(t-1)[:n])for n in range(~t and 20)]


Try it online!



The math



Let $a(t,n)$ be the $n^th$ term (0-indexed) of the sequence at tier $t$. A little analysis leads to the following recurrence formula:



$$
a(t,n) = 1+sum_i=0^n-1a(t-1,i)
$$



Working backwards, we define $a(0,n) = 1$ and $a(-1,n) = 0$ for all $n$. These definitions will simplify our base case.



The code



We define a function m(t) that returns the first 20 elements of the sequence at tier t. If t is nonnegative, we use the recursive formula above; if t is -1, we return an empty list. The empty list works as a base case because the result of each recursive call is sliced ([:n]) and then summed. Slicing an empty list gives an empty list, and summing an empty list gives 0. That's exactly the result we want, since tier $-1$ should behave like a constant sequence of all $0$'s.



m=lambda t: # Define a function m(t):
[ ] # List comprehension
for n in range( ) # for each n from 0 up to but not including...
~n and 20 # 0 if n is -1, else 20:
1+sum( ) # a(t,n) = 1 + sum of
[:n] # the first n elements of
m(t-1) # the previous tier (calculated recursively)





share|improve this answer











$endgroup$












  • $begingroup$
    61 bytes as a recursive lambda function (Significantly more inefficient).
    $endgroup$
    – ovs
    yesterday











  • $begingroup$
    @ovs Thanks! I found a couple more bytes by using a different base case, too.
    $endgroup$
    – DLosc
    yesterday











  • $begingroup$
    :( the nice way is too long
    $endgroup$
    – ASCII-only
    yesterday










  • $begingroup$
    or a combinations builtin, yeah
    $endgroup$
    – ASCII-only
    yesterday










  • $begingroup$
    closer (with stolen combinations function)
    $endgroup$
    – ASCII-only
    yesterday



















5












$begingroup$


Brain-Flak, 84 82 bytes



<>((()()()()()))([((()))])<>([(())]<<>(<>())<><>(<>)<>>)<>


Try it online!



Annotated



<> Switch to the off stack
((()()()()())) Push 10
([((()))]) Make twice that many 1s
<> Switch back
While ...
([(())]< Subtract one from the input and push 1
<> Switch
For every x on the stack
(<>())<> Remove x and add it to a copy of the other TOS
End loop
<> Remove 1 element to keep it 20
(<>)<> Copy everything back to the other stack
>)<> End scopes and loops


Try it online!






share|improve this answer









$endgroup$








  • 1




    $begingroup$
    you know its funny how this is shorter than Rust
    $endgroup$
    – don bright
    17 hours ago


















5












$begingroup$


R, 36 bytes





rowSums(outer(0:19,0:scan(),choose))


Try it online!



Thanks to @Giuseppe for suggesting outer.



This is based on the approach @alephalpha described






share|improve this answer









$endgroup$




















    4












    $begingroup$


    dzaima/APL REPL, 14 bytes





    (+1,19↑)⍣⎕⍳20


    Try it online!



    (+1,19↑)⍣⎕⍳20
    ( )⍣⎕ repeat the function below input times:
    + cumulative sum of
    1, 1 prepended to
    19↑ the first 19 items of the previous iteration
    ⍳20 starting with the first 20 integers





    share|improve this answer











    $endgroup$












    • $begingroup$
      -1 byte using dzaima/APL: 1∘,1,
      $endgroup$
      – Adám
      2 days ago










    • $begingroup$
      @Adám oh duh.. right
      $endgroup$
      – dzaima
      2 days ago










    • $begingroup$
      Full program at 17: (≢↑(+1∘,)⍣⎕)20⍴1
      $endgroup$
      – Adám
      2 days ago










    • $begingroup$
      14 bytes by using the REPL (add the -s flag).
      $endgroup$
      – Erik the Outgolfer
      2 days ago











    • $begingroup$
      If you use the flag, language becomes -s btw (unless -s is repl flag?)
      $endgroup$
      – ASCII-only
      yesterday



















    3












    $begingroup$


    Pari/GP, 39 bytes



    n->Vec(sum(i=1,n+1,(1/x-1)^-i)+O(x^21))


    Try it online!





    Pari/GP, 40 bytes



    n->Vec((1-(1/x-1)^-n++)/(1-2*x)+O(x^20))


    Try it online!




    The generating function of the tier $n$ metasequence is:



    $$sum_i=0^nfracx^i(1-x)^i+1=frac1-left(fracx1-xright)^1+n1-2x$$






    share|improve this answer











    $endgroup$




















      3












      $begingroup$


      Perl 6, 34 32 bytes



      -2 bytes thanks to Jo King





      (@,[+] 1,...*)[$_+1]


      Try it online!



      Explanation



       # Anonymous block
      , ...* # Construct infinite sequence of sequences
      @ # Start with empty array
      # Compute next element as
      [+] # cumulative sum of
      1, # one followed by
      |.[^19] # first 19 elements of previous sequence
      ( )[$_+1] # Take (n+1)th element





      share|improve this answer











      $endgroup$












      • $begingroup$
        29 bytes (the $^a instead of $_ is necessary)
        $endgroup$
        – Jo King
        yesterday







      • 1




        $begingroup$
        @JoKing Nice, but this assumes that $_ is undefined when calling the function. I prefer solutions that don't depend on the state of global variables.
        $endgroup$
        – nwellnhof
        yesterday


















      3












      $begingroup$


      Python 3.8 (pre-release), 62 bytes





      f=lambda n:[t:=1]+[t:=t+n for n in(n and f(n-1)[:-1]or[0]*19)]


      Try it online!




      Explanation



      f=lambda n: # funtion takes a single argument
      [t:=1] # This evaluates to [1] and assigns 1 to t
      # assignment expressions are a new feature of Python 3.8
      + # concatenated to
      [ .... ] # list comprehension

      # The list comprehesion works together with the
      # assignment expression as a scan function:
      [t := t+n for n in it]
      # This calculates all partial sums of it
      # (plus the initial value of t, which is 1 here)

      # The list comprehension iterates
      # over the first 19 entries of f(n-1)
      # or over a list of zeros for n=0
      for n in (n and f(n-1)[:-1] or [0]*19)





      share|improve this answer











      $endgroup$




















        3












        $begingroup$

        R (63 47 bytes)



        function(n,k=0:19)2^k*pbeta(.5,pmax(k-n,0),n+1)


        Online demo. This uses the regularised incomplete beta function, which gives the cumulative distribution function of a binomial, and hence just needs a bit of scaling to give partial sums of rows of Pascal's triangle.



        Octave (66 46 bytes)



        @(n,k=0:19)2.^k.*betainc(.5,max(k-n,1E-9),n+1)


        Online demo. Exactly the same concept, but slightly uglier because betainc, unlike R's pbeta, requires the second and third arguments to be greater than zero.



        Many thanks to Giuseppe for helping me to vectorise these, with significant savings.






        share|improve this answer











        $endgroup$




















          2












          $begingroup$

          Ruby, 74 bytes



          a=->bc=[1];d=0;b==1?c=(1..20).to_a: 19.timesc<<c[d]+(a[b-1])[d];d+=1;c



          Ungolfed version:



          def seq num
          ary = [1]
          index = 0
          if num == 1
          ary = (1..20).to_a
          else
          19.timesary << ary[index]+seq(num-1)[index]; index+=1
          end
          return ary
          end


          Quite resource-intensive--the online version can't calculate the 13th metasequence.



          Try it online






          share|improve this answer









          $endgroup$




















            2












            $begingroup$


            Wolfram Language (Mathematica), 42 bytes



            Nest[FoldList[Plus,1,#]&,Range[21-#],#-1]&


            Try it online!






            share|improve this answer









            $endgroup$




















              2












              $begingroup$


              05AB1E, 11 9 bytes



              20LIF.¥>¨


              0-indexed



              Try it online or verify all test cases.



              Explanation:





              20L # Create a list in the range [1,20]
              IF # Loop the input amount of times:
              .¥ # Get the cumulative sum of the current list with 0 prepended automatically
              > # Increase each value in this list by 1
              ¨ # Remove the trailing 21th item from the list
              # (after the loop, output the result-list implicitly)





              share|improve this answer











              $endgroup$








              • 1




                $begingroup$
                Nice use of !
                $endgroup$
                – Emigna
                yesterday


















              1












              $begingroup$

              JavaScript (ES6),  68  67 bytes





              f=(n,a=[...f+f])=>n--?f(n,[s=1,...a.map(x=>s-=~--x)]):a.slice(0,20)


              Try it online!




              JavaScript (ES6), 63 bytes



              NB: this version works for $nle20$.





              f=(n,a=[...Array(20-n)])=>n--?f(n,[s=1,...a.map(x=>s+=x||1)]):a


              Try it online!






              share|improve this answer











              $endgroup$




















                1












                $begingroup$


                J, 24 bytes



                <:(1+/@,])^:[(1+i.20)"_


                Try it online!



                NOTE: Turns out this is a translation of dzaima's APL answer, though I actually didn't notice it before writing this.



                explanation



                <: (1 +/@, ])^:[ (1+i.20)"_
                <: NB. input minus 1 (left input)
                (1+i.20)"_ NB. 1..20 (right input)
                ( )^:[ NB. apply verb in parens
                NB. "left input" times
                (1 , ]) NB. prepend 1 to right input
                ( +/@ ) NB. and take scan sum





                share|improve this answer











                $endgroup$




















                  1












                  $begingroup$

                  Ruby, 49 bytes



                  f=->nn<1?[1]*20:[o=1]+f[n-1][0,19].mapx


                  Recursive definition: Tier 0 is 1,1,1,1... and each subsequent tier is 1 followed by a sequence whose first differences are the previous tier. Annoyingly this would give me 21 values if I didn't explicitly slice out the first 20; seems like there should be a way to shorten this by avoiding that.






                  share|improve this answer











                  $endgroup$












                  • $begingroup$
                    tio.run/#ruby pls
                    $endgroup$
                    – ASCII-only
                    yesterday










                  • $begingroup$
                    also 49
                    $endgroup$
                    – ASCII-only
                    yesterday










                  • $begingroup$
                    46
                    $endgroup$
                    – ASCII-only
                    yesterday



















                  1












                  $begingroup$


                  Retina, 59 bytes



                  .+
                  19*$(_,


                  Replace the input with 19 1s (in unary). (The 20th value is 0 because it always gets deleted by the first pass through the loop.)



                  "$+" 














                  1












                  $begingroup$


                  Rust, 135 bytes



                  fn t(m:u64)->Vec<u64>a*n);(0..20).map(


                  used @alephalpha 's idea, like several others. there is no builtin factorial so that takes up at least 36 bytes, (plus dealing with negatives). no builtin choose, another 16 bytes. iterator->declared vector type, 20 bytes.. etc etc.



                  Ungolfed at play.rust-lang.org






                  sharegNh20õ


                  Try it






                  share|improve this answer









                  $endgroup$




















                    0












                    $begingroup$

                    CJam (20 bytes)



                    1aK*11$+/;]q~*p


                    Online demo. This is a program which takes input from stdin and prints to stdout; for the same score an anonymous block (function) can be obtained as



                    1aK*11$+/;]@*


                    Dissection



                    This applies the definition literally:



                    1aK* e# Start with an array of 20 1s
                    e# Loop:
                    1 e# Push a 1 before the current list
                    1$+/ e# Form partial sums (including that bonus 1)
                    ;] e# Ditch the last and gather in an array (of length 20)

                    q~* e# Take input and repeat the loop that many times
                    p e# Pretty print





                    share|improve this answer









                    $endgroup$












                      Your Answer





                      StackExchange.ifUsing("editor", function ()
                      return StackExchange.using("mathjaxEditing", function ()
                      StackExchange.MarkdownEditor.creationCallbacks.add(function (editor, postfix)
                      StackExchange.mathjaxEditing.prepareWmdForMathJax(editor, postfix, [["\$", "\$"]]);
                      );
                      );
                      , "mathjax-editing");

                      StackExchange.ifUsing("editor", function ()
                      StackExchange.using("externalEditor", function ()
                      StackExchange.using("snippets", function ()
                      StackExchange.snippets.init();
                      );
                      );
                      , "code-snippets");

                      StackExchange.ready(function()
                      var channelOptions =
                      tags: "".split(" "),
                      id: "200"
                      ;
                      initTagRenderer("".split(" "), "".split(" "), channelOptions);

                      StackExchange.using("externalEditor", function()
                      // Have to fire editor after snippets, if snippets enabled
                      if (StackExchange.settings.snippets.snippetsEnabled)
                      StackExchange.using("snippets", function()
                      createEditor();
                      );

                      else
                      createEditor();

                      );

                      function createEditor()
                      StackExchange.prepareEditor(
                      heartbeatType: 'answer',
                      autoActivateHeartbeat: false,
                      convertImagesToLinks: false,
                      noModals: true,
                      showLowRepImageUploadWarning: true,
                      reputationToPostImages: null,
                      bindNavPrevention: true,
                      postfix: "",
                      imageUploader:
                      brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
                      contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
                      allowUrls: true
                      ,
                      onDemand: true,
                      discardSelector: ".discard-answer"
                      ,immediatelyShowMarkdownHelp:true
                      );



                      );













                      draft saved

                      draft discarded


















                      StackExchange.ready(
                      function ()
                      StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fcodegolf.stackexchange.com%2fquestions%2f180855%2fmake-me-a-metasequence%23new-answer', 'question_page');

                      );

                      Post as a guest















                      Required, but never shown

























                      28 Answers
                      28






                      active

                      oldest

                      votes








                      28 Answers
                      28






                      active

                      oldest

                      votes









                      active

                      oldest

                      votes






                      active

                      oldest

                      votes









                      19












                      $begingroup$


                      Wolfram Language (Mathematica), 34 bytes



                      0~Range~19~Binomial~i~Sum~i,0,#&


                      Try it online!



                      The tier $n$ metasequence is the sum of the first $n+1$ elements of each row of the Pascal triangle.






                      share|improve this answer











                      $endgroup$








                      • 1




                        $begingroup$
                        There's almost a built-in for that, but unfortunately it's longer.
                        $endgroup$
                        – Peter Taylor
                        yesterday






                      • 1




                        $begingroup$
                        I don't know enough WL to do anything useful in it, but it seems to me that it might benefit from the identity $$T(n,k) = begincases1 & textrmif k=0 \ 2T(n,k-1) - binomk-1n & textrmotherwiseendcases$$
                        $endgroup$
                        – Peter Taylor
                        yesterday
















                      19












                      $begingroup$


                      Wolfram Language (Mathematica), 34 bytes



                      0~Range~19~Binomial~i~Sum~i,0,#&


                      Try it online!



                      The tier $n$ metasequence is the sum of the first $n+1$ elements of each row of the Pascal triangle.






                      share|improve this answer











                      $endgroup$








                      • 1




                        $begingroup$
                        There's almost a built-in for that, but unfortunately it's longer.
                        $endgroup$
                        – Peter Taylor
                        yesterday






                      • 1




                        $begingroup$
                        I don't know enough WL to do anything useful in it, but it seems to me that it might benefit from the identity $$T(n,k) = begincases1 & textrmif k=0 \ 2T(n,k-1) - binomk-1n & textrmotherwiseendcases$$
                        $endgroup$
                        – Peter Taylor
                        yesterday














                      19












                      19








                      19





                      $begingroup$


                      Wolfram Language (Mathematica), 34 bytes



                      0~Range~19~Binomial~i~Sum~i,0,#&


                      Try it online!



                      The tier $n$ metasequence is the sum of the first $n+1$ elements of each row of the Pascal triangle.






                      share|improve this answer











                      $endgroup$




                      Wolfram Language (Mathematica), 34 bytes



                      0~Range~19~Binomial~i~Sum~i,0,#&


                      Try it online!



                      The tier $n$ metasequence is the sum of the first $n+1$ elements of each row of the Pascal triangle.







                      share|improve this answer














                      share|improve this answer



                      share|improve this answer








                      edited yesterday

























                      answered 2 days ago









                      alephalphaalephalpha

                      21.8k32994




                      21.8k32994







                      • 1




                        $begingroup$
                        There's almost a built-in for that, but unfortunately it's longer.
                        $endgroup$
                        – Peter Taylor
                        yesterday






                      • 1




                        $begingroup$
                        I don't know enough WL to do anything useful in it, but it seems to me that it might benefit from the identity $$T(n,k) = begincases1 & textrmif k=0 \ 2T(n,k-1) - binomk-1n & textrmotherwiseendcases$$
                        $endgroup$
                        – Peter Taylor
                        yesterday













                      • 1




                        $begingroup$
                        There's almost a built-in for that, but unfortunately it's longer.
                        $endgroup$
                        – Peter Taylor
                        yesterday






                      • 1




                        $begingroup$
                        I don't know enough WL to do anything useful in it, but it seems to me that it might benefit from the identity $$T(n,k) = begincases1 & textrmif k=0 \ 2T(n,k-1) - binomk-1n & textrmotherwiseendcases$$
                        $endgroup$
                        – Peter Taylor
                        yesterday








                      1




                      1




                      $begingroup$
                      There's almost a built-in for that, but unfortunately it's longer.
                      $endgroup$
                      – Peter Taylor
                      yesterday




                      $begingroup$
                      There's almost a built-in for that, but unfortunately it's longer.
                      $endgroup$
                      – Peter Taylor
                      yesterday




                      1




                      1




                      $begingroup$
                      I don't know enough WL to do anything useful in it, but it seems to me that it might benefit from the identity $$T(n,k) = begincases1 & textrmif k=0 \ 2T(n,k-1) - binomk-1n & textrmotherwiseendcases$$
                      $endgroup$
                      – Peter Taylor
                      yesterday





                      $begingroup$
                      I don't know enough WL to do anything useful in it, but it seems to me that it might benefit from the identity $$T(n,k) = begincases1 & textrmif k=0 \ 2T(n,k-1) - binomk-1n & textrmotherwiseendcases$$
                      $endgroup$
                      – Peter Taylor
                      yesterday












                      15












                      $begingroup$


                      Haskell, 35 bytes





                      take 20.(iterate(scanl(+)1)[1..]!!)


                      Try it online! Uses 0-indexed inputs (f 4 returns tier 5.)




                      Haskell, 36 bytes





                      f 1=[1..20]
                      f n=init$scanl(+)1$f$n-1


                      Try it online! Uses 1-indexed inputs (f 5 returns tier 5.)



                      Explanation



                      scanl (+) 1 is a function that takes partial sums of a list, starting from (and prepending) 1.




                      For example: scanl (+) 1 [20,300,4000] equals [1,21,321,4321].




                      It turns out that tier $n$ is just this function applied $ (n-1) $ times to the list $[1,2,3,dots]$.



                      (Or equivalently: $n$ times to a list of all ones.)



                      We use either init or [1..20-n] to account for the list getting longer by $1$ every application.






                      share|improve this answer











                      $endgroup$








                      • 1




                        $begingroup$
                        [1..20-n] isn't going to work for $n > 20$
                        $endgroup$
                        – Peter Taylor
                        yesterday










                      • $begingroup$
                        take 20.(iterate(scanl(+)1)[1..]!!) would only cost a byte more to fix that
                        $endgroup$
                        – H.PWiz
                        yesterday






                      • 1




                        $begingroup$
                        Your pointfree answer can be back to 34 bytes using your other answer: (iterate(init.scanl(+)1)[1..20]!!).
                        $endgroup$
                        – xnor
                        18 hours ago















                      15












                      $begingroup$


                      Haskell, 35 bytes





                      take 20.(iterate(scanl(+)1)[1..]!!)


                      Try it online! Uses 0-indexed inputs (f 4 returns tier 5.)




                      Haskell, 36 bytes





                      f 1=[1..20]
                      f n=init$scanl(+)1$f$n-1


                      Try it online! Uses 1-indexed inputs (f 5 returns tier 5.)



                      Explanation



                      scanl (+) 1 is a function that takes partial sums of a list, starting from (and prepending) 1.




                      For example: scanl (+) 1 [20,300,4000] equals [1,21,321,4321].




                      It turns out that tier $n$ is just this function applied $ (n-1) $ times to the list $[1,2,3,dots]$.



                      (Or equivalently: $n$ times to a list of all ones.)



                      We use either init or [1..20-n] to account for the list getting longer by $1$ every application.






                      share|improve this answer











                      $endgroup$








                      • 1




                        $begingroup$
                        [1..20-n] isn't going to work for $n > 20$
                        $endgroup$
                        – Peter Taylor
                        yesterday










                      • $begingroup$
                        take 20.(iterate(scanl(+)1)[1..]!!) would only cost a byte more to fix that
                        $endgroup$
                        – H.PWiz
                        yesterday






                      • 1




                        $begingroup$
                        Your pointfree answer can be back to 34 bytes using your other answer: (iterate(init.scanl(+)1)[1..20]!!).
                        $endgroup$
                        – xnor
                        18 hours ago













                      15












                      15








                      15





                      $begingroup$


                      Haskell, 35 bytes





                      take 20.(iterate(scanl(+)1)[1..]!!)


                      Try it online! Uses 0-indexed inputs (f 4 returns tier 5.)




                      Haskell, 36 bytes





                      f 1=[1..20]
                      f n=init$scanl(+)1$f$n-1


                      Try it online! Uses 1-indexed inputs (f 5 returns tier 5.)



                      Explanation



                      scanl (+) 1 is a function that takes partial sums of a list, starting from (and prepending) 1.




                      For example: scanl (+) 1 [20,300,4000] equals [1,21,321,4321].




                      It turns out that tier $n$ is just this function applied $ (n-1) $ times to the list $[1,2,3,dots]$.



                      (Or equivalently: $n$ times to a list of all ones.)



                      We use either init or [1..20-n] to account for the list getting longer by $1$ every application.






                      share|improve this answer











                      $endgroup$




                      Haskell, 35 bytes





                      take 20.(iterate(scanl(+)1)[1..]!!)


                      Try it online! Uses 0-indexed inputs (f 4 returns tier 5.)




                      Haskell, 36 bytes





                      f 1=[1..20]
                      f n=init$scanl(+)1$f$n-1


                      Try it online! Uses 1-indexed inputs (f 5 returns tier 5.)



                      Explanation



                      scanl (+) 1 is a function that takes partial sums of a list, starting from (and prepending) 1.




                      For example: scanl (+) 1 [20,300,4000] equals [1,21,321,4321].




                      It turns out that tier $n$ is just this function applied $ (n-1) $ times to the list $[1,2,3,dots]$.



                      (Or equivalently: $n$ times to a list of all ones.)



                      We use either init or [1..20-n] to account for the list getting longer by $1$ every application.







                      share|improve this answer














                      share|improve this answer



                      share|improve this answer








                      edited yesterday

























                      answered 2 days ago









                      LynnLynn

                      50.3k797231




                      50.3k797231







                      • 1




                        $begingroup$
                        [1..20-n] isn't going to work for $n > 20$
                        $endgroup$
                        – Peter Taylor
                        yesterday










                      • $begingroup$
                        take 20.(iterate(scanl(+)1)[1..]!!) would only cost a byte more to fix that
                        $endgroup$
                        – H.PWiz
                        yesterday






                      • 1




                        $begingroup$
                        Your pointfree answer can be back to 34 bytes using your other answer: (iterate(init.scanl(+)1)[1..20]!!).
                        $endgroup$
                        – xnor
                        18 hours ago












                      • 1




                        $begingroup$
                        [1..20-n] isn't going to work for $n > 20$
                        $endgroup$
                        – Peter Taylor
                        yesterday










                      • $begingroup$
                        take 20.(iterate(scanl(+)1)[1..]!!) would only cost a byte more to fix that
                        $endgroup$
                        – H.PWiz
                        yesterday






                      • 1




                        $begingroup$
                        Your pointfree answer can be back to 34 bytes using your other answer: (iterate(init.scanl(+)1)[1..20]!!).
                        $endgroup$
                        – xnor
                        18 hours ago







                      1




                      1




                      $begingroup$
                      [1..20-n] isn't going to work for $n > 20$
                      $endgroup$
                      – Peter Taylor
                      yesterday




                      $begingroup$
                      [1..20-n] isn't going to work for $n > 20$
                      $endgroup$
                      – Peter Taylor
                      yesterday












                      $begingroup$
                      take 20.(iterate(scanl(+)1)[1..]!!) would only cost a byte more to fix that
                      $endgroup$
                      – H.PWiz
                      yesterday




                      $begingroup$
                      take 20.(iterate(scanl(+)1)[1..]!!) would only cost a byte more to fix that
                      $endgroup$
                      – H.PWiz
                      yesterday




                      1




                      1




                      $begingroup$
                      Your pointfree answer can be back to 34 bytes using your other answer: (iterate(init.scanl(+)1)[1..20]!!).
                      $endgroup$
                      – xnor
                      18 hours ago




                      $begingroup$
                      Your pointfree answer can be back to 34 bytes using your other answer: (iterate(init.scanl(+)1)[1..20]!!).
                      $endgroup$
                      – xnor
                      18 hours ago











                      8












                      $begingroup$


                      Jelly, 8 7 bytes



                      20ḶcþŻS


                      Try it online!



                       cþ Table of binom(x,y) where:
                      20Ḷ x = [0..19]
                      Ż y = [0..n] e.g. n=3 → [[1, 1, 1, 1, 1, 1, …]
                      [0, 1, 2, 3, 4, 5, …]
                      [0, 0, 1, 3, 6, 10, …]
                      [0, 0, 0, 1, 4, 10, …]]

                      S Columnwise sum. → [1, 2, 4, 8, 15, 26, …]


                      This uses @alephalpha’s insight that $$textmeta-sequence_n(i) = sum_k=0^n binom ik.$$






                      share|improve this answer











                      $endgroup$












                      • $begingroup$
                        That is brutally succint. Just awesome.
                        $endgroup$
                        – don bright
                        17 hours ago















                      8












                      $begingroup$


                      Jelly, 8 7 bytes



                      20ḶcþŻS


                      Try it online!



                       cþ Table of binom(x,y) where:
                      20Ḷ x = [0..19]
                      Ż y = [0..n] e.g. n=3 → [[1, 1, 1, 1, 1, 1, …]
                      [0, 1, 2, 3, 4, 5, …]
                      [0, 0, 1, 3, 6, 10, …]
                      [0, 0, 0, 1, 4, 10, …]]

                      S Columnwise sum. → [1, 2, 4, 8, 15, 26, …]


                      This uses @alephalpha’s insight that $$textmeta-sequence_n(i) = sum_k=0^n binom ik.$$






                      share|improve this answer











                      $endgroup$












                      • $begingroup$
                        That is brutally succint. Just awesome.
                        $endgroup$
                        – don bright
                        17 hours ago













                      8












                      8








                      8





                      $begingroup$


                      Jelly, 8 7 bytes



                      20ḶcþŻS


                      Try it online!



                       cþ Table of binom(x,y) where:
                      20Ḷ x = [0..19]
                      Ż y = [0..n] e.g. n=3 → [[1, 1, 1, 1, 1, 1, …]
                      [0, 1, 2, 3, 4, 5, …]
                      [0, 0, 1, 3, 6, 10, …]
                      [0, 0, 0, 1, 4, 10, …]]

                      S Columnwise sum. → [1, 2, 4, 8, 15, 26, …]


                      This uses @alephalpha’s insight that $$textmeta-sequence_n(i) = sum_k=0^n binom ik.$$






                      share|improve this answer











                      $endgroup$




                      Jelly, 8 7 bytes



                      20ḶcþŻS


                      Try it online!



                       cþ Table of binom(x,y) where:
                      20Ḷ x = [0..19]
                      Ż y = [0..n] e.g. n=3 → [[1, 1, 1, 1, 1, 1, …]
                      [0, 1, 2, 3, 4, 5, …]
                      [0, 0, 1, 3, 6, 10, …]
                      [0, 0, 0, 1, 4, 10, …]]

                      S Columnwise sum. → [1, 2, 4, 8, 15, 26, …]


                      This uses @alephalpha’s insight that $$textmeta-sequence_n(i) = sum_k=0^n binom ik.$$







                      share|improve this answer














                      share|improve this answer



                      share|improve this answer








                      edited yesterday

























                      answered 2 days ago









                      LynnLynn

                      50.3k797231




                      50.3k797231











                      • $begingroup$
                        That is brutally succint. Just awesome.
                        $endgroup$
                        – don bright
                        17 hours ago
















                      • $begingroup$
                        That is brutally succint. Just awesome.
                        $endgroup$
                        – don bright
                        17 hours ago















                      $begingroup$
                      That is brutally succint. Just awesome.
                      $endgroup$
                      – don bright
                      17 hours ago




                      $begingroup$
                      That is brutally succint. Just awesome.
                      $endgroup$
                      – don bright
                      17 hours ago











                      5












                      $begingroup$


                      Python 2, 69 58 55 bytes



                      Saved bytes thanks to ovs and Jo King; also, it works in Python 3 now as well.





                      m=lambda t:[1+sum(m(t-1)[:n])for n in range(~t and 20)]


                      Try it online!



                      The math



                      Let $a(t,n)$ be the $n^th$ term (0-indexed) of the sequence at tier $t$. A little analysis leads to the following recurrence formula:



                      $$
                      a(t,n) = 1+sum_i=0^n-1a(t-1,i)
                      $$



                      Working backwards, we define $a(0,n) = 1$ and $a(-1,n) = 0$ for all $n$. These definitions will simplify our base case.



                      The code



                      We define a function m(t) that returns the first 20 elements of the sequence at tier t. If t is nonnegative, we use the recursive formula above; if t is -1, we return an empty list. The empty list works as a base case because the result of each recursive call is sliced ([:n]) and then summed. Slicing an empty list gives an empty list, and summing an empty list gives 0. That's exactly the result we want, since tier $-1$ should behave like a constant sequence of all $0$'s.



                      m=lambda t: # Define a function m(t):
                      [ ] # List comprehension
                      for n in range( ) # for each n from 0 up to but not including...
                      ~n and 20 # 0 if n is -1, else 20:
                      1+sum( ) # a(t,n) = 1 + sum of
                      [:n] # the first n elements of
                      m(t-1) # the previous tier (calculated recursively)





                      share|improve this answer











                      $endgroup$












                      • $begingroup$
                        61 bytes as a recursive lambda function (Significantly more inefficient).
                        $endgroup$
                        – ovs
                        yesterday











                      • $begingroup$
                        @ovs Thanks! I found a couple more bytes by using a different base case, too.
                        $endgroup$
                        – DLosc
                        yesterday











                      • $begingroup$
                        :( the nice way is too long
                        $endgroup$
                        – ASCII-only
                        yesterday










                      • $begingroup$
                        or a combinations builtin, yeah
                        $endgroup$
                        – ASCII-only
                        yesterday










                      • $begingroup$
                        closer (with stolen combinations function)
                        $endgroup$
                        – ASCII-only
                        yesterday
















                      5












                      $begingroup$


                      Python 2, 69 58 55 bytes



                      Saved bytes thanks to ovs and Jo King; also, it works in Python 3 now as well.





                      m=lambda t:[1+sum(m(t-1)[:n])for n in range(~t and 20)]


                      Try it online!



                      The math



                      Let $a(t,n)$ be the $n^th$ term (0-indexed) of the sequence at tier $t$. A little analysis leads to the following recurrence formula:



                      $$
                      a(t,n) = 1+sum_i=0^n-1a(t-1,i)
                      $$



                      Working backwards, we define $a(0,n) = 1$ and $a(-1,n) = 0$ for all $n$. These definitions will simplify our base case.



                      The code



                      We define a function m(t) that returns the first 20 elements of the sequence at tier t. If t is nonnegative, we use the recursive formula above; if t is -1, we return an empty list. The empty list works as a base case because the result of each recursive call is sliced ([:n]) and then summed. Slicing an empty list gives an empty list, and summing an empty list gives 0. That's exactly the result we want, since tier $-1$ should behave like a constant sequence of all $0$'s.



                      m=lambda t: # Define a function m(t):
                      [ ] # List comprehension
                      for n in range( ) # for each n from 0 up to but not including...
                      ~n and 20 # 0 if n is -1, else 20:
                      1+sum( ) # a(t,n) = 1 + sum of
                      [:n] # the first n elements of
                      m(t-1) # the previous tier (calculated recursively)





                      share|improve this answer











                      $endgroup$












                      • $begingroup$
                        61 bytes as a recursive lambda function (Significantly more inefficient).
                        $endgroup$
                        – ovs
                        yesterday











                      • $begingroup$
                        @ovs Thanks! I found a couple more bytes by using a different base case, too.
                        $endgroup$
                        – DLosc
                        yesterday











                      • $begingroup$
                        :( the nice way is too long
                        $endgroup$
                        – ASCII-only
                        yesterday










                      • $begingroup$
                        or a combinations builtin, yeah
                        $endgroup$
                        – ASCII-only
                        yesterday










                      • $begingroup$
                        closer (with stolen combinations function)
                        $endgroup$
                        – ASCII-only
                        yesterday














                      5












                      5








                      5





                      $begingroup$


                      Python 2, 69 58 55 bytes



                      Saved bytes thanks to ovs and Jo King; also, it works in Python 3 now as well.





                      m=lambda t:[1+sum(m(t-1)[:n])for n in range(~t and 20)]


                      Try it online!



                      The math



                      Let $a(t,n)$ be the $n^th$ term (0-indexed) of the sequence at tier $t$. A little analysis leads to the following recurrence formula:



                      $$
                      a(t,n) = 1+sum_i=0^n-1a(t-1,i)
                      $$



                      Working backwards, we define $a(0,n) = 1$ and $a(-1,n) = 0$ for all $n$. These definitions will simplify our base case.



                      The code



                      We define a function m(t) that returns the first 20 elements of the sequence at tier t. If t is nonnegative, we use the recursive formula above; if t is -1, we return an empty list. The empty list works as a base case because the result of each recursive call is sliced ([:n]) and then summed. Slicing an empty list gives an empty list, and summing an empty list gives 0. That's exactly the result we want, since tier $-1$ should behave like a constant sequence of all $0$'s.



                      m=lambda t: # Define a function m(t):
                      [ ] # List comprehension
                      for n in range( ) # for each n from 0 up to but not including...
                      ~n and 20 # 0 if n is -1, else 20:
                      1+sum( ) # a(t,n) = 1 + sum of
                      [:n] # the first n elements of
                      m(t-1) # the previous tier (calculated recursively)





                      share|improve this answer











                      $endgroup$




                      Python 2, 69 58 55 bytes



                      Saved bytes thanks to ovs and Jo King; also, it works in Python 3 now as well.





                      m=lambda t:[1+sum(m(t-1)[:n])for n in range(~t and 20)]


                      Try it online!



                      The math



                      Let $a(t,n)$ be the $n^th$ term (0-indexed) of the sequence at tier $t$. A little analysis leads to the following recurrence formula:



                      $$
                      a(t,n) = 1+sum_i=0^n-1a(t-1,i)
                      $$



                      Working backwards, we define $a(0,n) = 1$ and $a(-1,n) = 0$ for all $n$. These definitions will simplify our base case.



                      The code



                      We define a function m(t) that returns the first 20 elements of the sequence at tier t. If t is nonnegative, we use the recursive formula above; if t is -1, we return an empty list. The empty list works as a base case because the result of each recursive call is sliced ([:n]) and then summed. Slicing an empty list gives an empty list, and summing an empty list gives 0. That's exactly the result we want, since tier $-1$ should behave like a constant sequence of all $0$'s.



                      m=lambda t: # Define a function m(t):
                      [ ] # List comprehension
                      for n in range( ) # for each n from 0 up to but not including...
                      ~n and 20 # 0 if n is -1, else 20:
                      1+sum( ) # a(t,n) = 1 + sum of
                      [:n] # the first n elements of
                      m(t-1) # the previous tier (calculated recursively)






                      share|improve this answer














                      share|improve this answer



                      share|improve this answer








                      edited yesterday

























                      answered yesterday









                      DLoscDLosc

                      19.4k33889




                      19.4k33889











                      • $begingroup$
                        61 bytes as a recursive lambda function (Significantly more inefficient).
                        $endgroup$
                        – ovs
                        yesterday











                      • $begingroup$
                        @ovs Thanks! I found a couple more bytes by using a different base case, too.
                        $endgroup$
                        – DLosc
                        yesterday











                      • $begingroup$
                        :( the nice way is too long
                        $endgroup$
                        – ASCII-only
                        yesterday










                      • $begingroup$
                        or a combinations builtin, yeah
                        $endgroup$
                        – ASCII-only
                        yesterday










                      • $begingroup$
                        closer (with stolen combinations function)
                        $endgroup$
                        – ASCII-only
                        yesterday

















                      • $begingroup$
                        61 bytes as a recursive lambda function (Significantly more inefficient).
                        $endgroup$
                        – ovs
                        yesterday











                      • $begingroup$
                        @ovs Thanks! I found a couple more bytes by using a different base case, too.
                        $endgroup$
                        – DLosc
                        yesterday











                      • $begingroup$
                        :( the nice way is too long
                        $endgroup$
                        – ASCII-only
                        yesterday










                      • $begingroup$
                        or a combinations builtin, yeah
                        $endgroup$
                        – ASCII-only
                        yesterday










                      • $begingroup$
                        closer (with stolen combinations function)
                        $endgroup$
                        – ASCII-only
                        yesterday
















                      $begingroup$
                      61 bytes as a recursive lambda function (Significantly more inefficient).
                      $endgroup$
                      – ovs
                      yesterday





                      $begingroup$
                      61 bytes as a recursive lambda function (Significantly more inefficient).
                      $endgroup$
                      – ovs
                      yesterday













                      $begingroup$
                      @ovs Thanks! I found a couple more bytes by using a different base case, too.
                      $endgroup$
                      – DLosc
                      yesterday





                      $begingroup$
                      @ovs Thanks! I found a couple more bytes by using a different base case, too.
                      $endgroup$
                      – DLosc
                      yesterday













                      $begingroup$
                      :( the nice way is too long
                      $endgroup$
                      – ASCII-only
                      yesterday




                      $begingroup$
                      :( the nice way is too long
                      $endgroup$
                      – ASCII-only
                      yesterday












                      $begingroup$
                      or a combinations builtin, yeah
                      $endgroup$
                      – ASCII-only
                      yesterday




                      $begingroup$
                      or a combinations builtin, yeah
                      $endgroup$
                      – ASCII-only
                      yesterday












                      $begingroup$
                      closer (with stolen combinations function)
                      $endgroup$
                      – ASCII-only
                      yesterday





                      $begingroup$
                      closer (with stolen combinations function)
                      $endgroup$
                      – ASCII-only
                      yesterday












                      5












                      $begingroup$


                      Brain-Flak, 84 82 bytes



                      <>((()()()()()))([((()))])<>([(())]<<>(<>())<><>(<>)<>>)<>


                      Try it online!



                      Annotated



                      <> Switch to the off stack
                      ((()()()()())) Push 10
                      ([((()))]) Make twice that many 1s
                      <> Switch back
                      While ...
                      ([(())]< Subtract one from the input and push 1
                      <> Switch
                      For every x on the stack
                      (<>())<> Remove x and add it to a copy of the other TOS
                      End loop
                      <> Remove 1 element to keep it 20
                      (<>)<> Copy everything back to the other stack
                      >)<> End scopes and loops


                      Try it online!






                      share|improve this answer









                      $endgroup$








                      • 1




                        $begingroup$
                        you know its funny how this is shorter than Rust
                        $endgroup$
                        – don bright
                        17 hours ago















                      5












                      $begingroup$


                      Brain-Flak, 84 82 bytes



                      <>((()()()()()))([((()))])<>([(())]<<>(<>())<><>(<>)<>>)<>


                      Try it online!



                      Annotated



                      <> Switch to the off stack
                      ((()()()()())) Push 10
                      ([((()))]) Make twice that many 1s
                      <> Switch back
                      While ...
                      ([(())]< Subtract one from the input and push 1
                      <> Switch
                      For every x on the stack
                      (<>())<> Remove x and add it to a copy of the other TOS
                      End loop
                      <> Remove 1 element to keep it 20
                      (<>)<> Copy everything back to the other stack
                      >)<> End scopes and loops


                      Try it online!






                      share|improve this answer









                      $endgroup$








                      • 1




                        $begingroup$
                        you know its funny how this is shorter than Rust
                        $endgroup$
                        – don bright
                        17 hours ago













                      5












                      5








                      5





                      $begingroup$


                      Brain-Flak, 84 82 bytes



                      <>((()()()()()))([((()))])<>([(())]<<>(<>())<><>(<>)<>>)<>


                      Try it online!



                      Annotated



                      <> Switch to the off stack
                      ((()()()()())) Push 10
                      ([((()))]) Make twice that many 1s
                      <> Switch back
                      While ...
                      ([(())]< Subtract one from the input and push 1
                      <> Switch
                      For every x on the stack
                      (<>())<> Remove x and add it to a copy of the other TOS
                      End loop
                      <> Remove 1 element to keep it 20
                      (<>)<> Copy everything back to the other stack
                      >)<> End scopes and loops


                      Try it online!






                      share|improve this answer









                      $endgroup$




                      Brain-Flak, 84 82 bytes



                      <>((()()()()()))([((()))])<>([(())]<<>(<>())<><>(<>)<>>)<>


                      Try it online!



                      Annotated



                      <> Switch to the off stack
                      ((()()()()())) Push 10
                      ([((()))]) Make twice that many 1s
                      <> Switch back
                      While ...
                      ([(())]< Subtract one from the input and push 1
                      <> Switch
                      For every x on the stack
                      (<>())<> Remove x and add it to a copy of the other TOS
                      End loop
                      <> Remove 1 element to keep it 20
                      (<>)<> Copy everything back to the other stack
                      >)<> End scopes and loops


                      Try it online!







                      share|improve this answer












                      share|improve this answer



                      share|improve this answer










                      answered yesterday









                      Sriotchilism O'ZaicSriotchilism O'Zaic

                      35.3k10159369




                      35.3k10159369







                      • 1




                        $begingroup$
                        you know its funny how this is shorter than Rust
                        $endgroup$
                        – don bright
                        17 hours ago












                      • 1




                        $begingroup$
                        you know its funny how this is shorter than Rust
                        $endgroup$
                        – don bright
                        17 hours ago







                      1




                      1




                      $begingroup$
                      you know its funny how this is shorter than Rust
                      $endgroup$
                      – don bright
                      17 hours ago




                      $begingroup$
                      you know its funny how this is shorter than Rust
                      $endgroup$
                      – don bright
                      17 hours ago











                      5












                      $begingroup$


                      R, 36 bytes





                      rowSums(outer(0:19,0:scan(),choose))


                      Try it online!



                      Thanks to @Giuseppe for suggesting outer.



                      This is based on the approach @alephalpha described






                      share|improve this answer









                      $endgroup$

















                        5












                        $begingroup$


                        R, 36 bytes





                        rowSums(outer(0:19,0:scan(),choose))


                        Try it online!



                        Thanks to @Giuseppe for suggesting outer.



                        This is based on the approach @alephalpha described






                        share|improve this answer









                        $endgroup$















                          5












                          5








                          5





                          $begingroup$


                          R, 36 bytes





                          rowSums(outer(0:19,0:scan(),choose))


                          Try it online!



                          Thanks to @Giuseppe for suggesting outer.



                          This is based on the approach @alephalpha described






                          share|improve this answer









                          $endgroup$




                          R, 36 bytes





                          rowSums(outer(0:19,0:scan(),choose))


                          Try it online!



                          Thanks to @Giuseppe for suggesting outer.



                          This is based on the approach @alephalpha described







                          share|improve this answer












                          share|improve this answer



                          share|improve this answer










                          answered 21 hours ago









                          Nick KennedyNick Kennedy

                          44125




                          44125





















                              4












                              $begingroup$


                              dzaima/APL REPL, 14 bytes





                              (+1,19↑)⍣⎕⍳20


                              Try it online!



                              (+1,19↑)⍣⎕⍳20
                              ( )⍣⎕ repeat the function below input times:
                              + cumulative sum of
                              1, 1 prepended to
                              19↑ the first 19 items of the previous iteration
                              ⍳20 starting with the first 20 integers





                              share|improve this answer











                              $endgroup$












                              • $begingroup$
                                -1 byte using dzaima/APL: 1∘,1,
                                $endgroup$
                                – Adám
                                2 days ago










                              • $begingroup$
                                @Adám oh duh.. right
                                $endgroup$
                                – dzaima
                                2 days ago










                              • $begingroup$
                                Full program at 17: (≢↑(+1∘,)⍣⎕)20⍴1
                                $endgroup$
                                – Adám
                                2 days ago










                              • $begingroup$
                                14 bytes by using the REPL (add the -s flag).
                                $endgroup$
                                – Erik the Outgolfer
                                2 days ago











                              • $begingroup$
                                If you use the flag, language becomes -s btw (unless -s is repl flag?)
                                $endgroup$
                                – ASCII-only
                                yesterday
















                              4












                              $begingroup$


                              dzaima/APL REPL, 14 bytes





                              (+1,19↑)⍣⎕⍳20


                              Try it online!



                              (+1,19↑)⍣⎕⍳20
                              ( )⍣⎕ repeat the function below input times:
                              + cumulative sum of
                              1, 1 prepended to
                              19↑ the first 19 items of the previous iteration
                              ⍳20 starting with the first 20 integers





                              share|improve this answer











                              $endgroup$












                              • $begingroup$
                                -1 byte using dzaima/APL: 1∘,1,
                                $endgroup$
                                – Adám
                                2 days ago










                              • $begingroup$
                                @Adám oh duh.. right
                                $endgroup$
                                – dzaima
                                2 days ago










                              • $begingroup$
                                Full program at 17: (≢↑(+1∘,)⍣⎕)20⍴1
                                $endgroup$
                                – Adám
                                2 days ago










                              • $begingroup$
                                14 bytes by using the REPL (add the -s flag).
                                $endgroup$
                                – Erik the Outgolfer
                                2 days ago











                              • $begingroup$
                                If you use the flag, language becomes -s btw (unless -s is repl flag?)
                                $endgroup$
                                – ASCII-only
                                yesterday














                              4












                              4








                              4





                              $begingroup$


                              dzaima/APL REPL, 14 bytes





                              (+1,19↑)⍣⎕⍳20


                              Try it online!



                              (+1,19↑)⍣⎕⍳20
                              ( )⍣⎕ repeat the function below input times:
                              + cumulative sum of
                              1, 1 prepended to
                              19↑ the first 19 items of the previous iteration
                              ⍳20 starting with the first 20 integers





                              share|improve this answer











                              $endgroup$




                              dzaima/APL REPL, 14 bytes





                              (+1,19↑)⍣⎕⍳20


                              Try it online!



                              (+1,19↑)⍣⎕⍳20
                              ( )⍣⎕ repeat the function below input times:
                              + cumulative sum of
                              1, 1 prepended to
                              19↑ the first 19 items of the previous iteration
                              ⍳20 starting with the first 20 integers






                              share|improve this answer














                              share|improve this answer



                              share|improve this answer








                              edited 2 days ago

























                              answered 2 days ago









                              dzaimadzaima

                              15.2k21856




                              15.2k21856











                              • $begingroup$
                                -1 byte using dzaima/APL: 1∘,1,
                                $endgroup$
                                – Adám
                                2 days ago










                              • $begingroup$
                                @Adám oh duh.. right
                                $endgroup$
                                – dzaima
                                2 days ago










                              • $begingroup$
                                Full program at 17: (≢↑(+1∘,)⍣⎕)20⍴1
                                $endgroup$
                                – Adám
                                2 days ago










                              • $begingroup$
                                14 bytes by using the REPL (add the -s flag).
                                $endgroup$
                                – Erik the Outgolfer
                                2 days ago











                              • $begingroup$
                                If you use the flag, language becomes -s btw (unless -s is repl flag?)
                                $endgroup$
                                – ASCII-only
                                yesterday

















                              • $begingroup$
                                -1 byte using dzaima/APL: 1∘,1,
                                $endgroup$
                                – Adám
                                2 days ago










                              • $begingroup$
                                @Adám oh duh.. right
                                $endgroup$
                                – dzaima
                                2 days ago










                              • $begingroup$
                                Full program at 17: (≢↑(+1∘,)⍣⎕)20⍴1
                                $endgroup$
                                – Adám
                                2 days ago










                              • $begingroup$
                                14 bytes by using the REPL (add the -s flag).
                                $endgroup$
                                – Erik the Outgolfer
                                2 days ago











                              • $begingroup$
                                If you use the flag, language becomes -s btw (unless -s is repl flag?)
                                $endgroup$
                                – ASCII-only
                                yesterday
















                              $begingroup$
                              -1 byte using dzaima/APL: 1∘,1,
                              $endgroup$
                              – Adám
                              2 days ago




                              $begingroup$
                              -1 byte using dzaima/APL: 1∘,1,
                              $endgroup$
                              – Adám
                              2 days ago












                              $begingroup$
                              @Adám oh duh.. right
                              $endgroup$
                              – dzaima
                              2 days ago




                              $begingroup$
                              @Adám oh duh.. right
                              $endgroup$
                              – dzaima
                              2 days ago












                              $begingroup$
                              Full program at 17: (≢↑(+1∘,)⍣⎕)20⍴1
                              $endgroup$
                              – Adám
                              2 days ago




                              $begingroup$
                              Full program at 17: (≢↑(+1∘,)⍣⎕)20⍴1
                              $endgroup$
                              – Adám
                              2 days ago












                              $begingroup$
                              14 bytes by using the REPL (add the -s flag).
                              $endgroup$
                              – Erik the Outgolfer
                              2 days ago





                              $begingroup$
                              14 bytes by using the REPL (add the -s flag).
                              $endgroup$
                              – Erik the Outgolfer
                              2 days ago













                              $begingroup$
                              If you use the flag, language becomes -s btw (unless -s is repl flag?)
                              $endgroup$
                              – ASCII-only
                              yesterday





                              $begingroup$
                              If you use the flag, language becomes -s btw (unless -s is repl flag?)
                              $endgroup$
                              – ASCII-only
                              yesterday












                              3












                              $begingroup$


                              Pari/GP, 39 bytes



                              n->Vec(sum(i=1,n+1,(1/x-1)^-i)+O(x^21))


                              Try it online!





                              Pari/GP, 40 bytes



                              n->Vec((1-(1/x-1)^-n++)/(1-2*x)+O(x^20))


                              Try it online!




                              The generating function of the tier $n$ metasequence is:



                              $$sum_i=0^nfracx^i(1-x)^i+1=frac1-left(fracx1-xright)^1+n1-2x$$






                              share|improve this answer











                              $endgroup$

















                                3












                                $begingroup$


                                Pari/GP, 39 bytes



                                n->Vec(sum(i=1,n+1,(1/x-1)^-i)+O(x^21))


                                Try it online!





                                Pari/GP, 40 bytes



                                n->Vec((1-(1/x-1)^-n++)/(1-2*x)+O(x^20))


                                Try it online!




                                The generating function of the tier $n$ metasequence is:



                                $$sum_i=0^nfracx^i(1-x)^i+1=frac1-left(fracx1-xright)^1+n1-2x$$






                                share|improve this answer











                                $endgroup$















                                  3












                                  3








                                  3





                                  $begingroup$


                                  Pari/GP, 39 bytes



                                  n->Vec(sum(i=1,n+1,(1/x-1)^-i)+O(x^21))


                                  Try it online!





                                  Pari/GP, 40 bytes



                                  n->Vec((1-(1/x-1)^-n++)/(1-2*x)+O(x^20))


                                  Try it online!




                                  The generating function of the tier $n$ metasequence is:



                                  $$sum_i=0^nfracx^i(1-x)^i+1=frac1-left(fracx1-xright)^1+n1-2x$$






                                  share|improve this answer











                                  $endgroup$




                                  Pari/GP, 39 bytes



                                  n->Vec(sum(i=1,n+1,(1/x-1)^-i)+O(x^21))


                                  Try it online!





                                  Pari/GP, 40 bytes



                                  n->Vec((1-(1/x-1)^-n++)/(1-2*x)+O(x^20))


                                  Try it online!




                                  The generating function of the tier $n$ metasequence is:



                                  $$sum_i=0^nfracx^i(1-x)^i+1=frac1-left(fracx1-xright)^1+n1-2x$$







                                  share|improve this answer














                                  share|improve this answer



                                  share|improve this answer








                                  edited 2 days ago

























                                  answered 2 days ago









                                  alephalphaalephalpha

                                  21.8k32994




                                  21.8k32994





















                                      3












                                      $begingroup$


                                      Perl 6, 34 32 bytes



                                      -2 bytes thanks to Jo King





                                      (@,[+] 1,...*)[$_+1]


                                      Try it online!



                                      Explanation



                                       # Anonymous block
                                      , ...* # Construct infinite sequence of sequences
                                      @ # Start with empty array
                                      # Compute next element as
                                      [+] # cumulative sum of
                                      1, # one followed by
                                      |.[^19] # first 19 elements of previous sequence
                                      ( )[$_+1] # Take (n+1)th element





                                      share|improve this answer











                                      $endgroup$












                                      • $begingroup$
                                        29 bytes (the $^a instead of $_ is necessary)
                                        $endgroup$
                                        – Jo King
                                        yesterday







                                      • 1




                                        $begingroup$
                                        @JoKing Nice, but this assumes that $_ is undefined when calling the function. I prefer solutions that don't depend on the state of global variables.
                                        $endgroup$
                                        – nwellnhof
                                        yesterday















                                      3












                                      $begingroup$


                                      Perl 6, 34 32 bytes



                                      -2 bytes thanks to Jo King





                                      (@,[+] 1,...*)[$_+1]


                                      Try it online!



                                      Explanation



                                       # Anonymous block
                                      , ...* # Construct infinite sequence of sequences
                                      @ # Start with empty array
                                      # Compute next element as
                                      [+] # cumulative sum of
                                      1, # one followed by
                                      |.[^19] # first 19 elements of previous sequence
                                      ( )[$_+1] # Take (n+1)th element





                                      share|improve this answer











                                      $endgroup$












                                      • $begingroup$
                                        29 bytes (the $^a instead of $_ is necessary)
                                        $endgroup$
                                        – Jo King
                                        yesterday







                                      • 1




                                        $begingroup$
                                        @JoKing Nice, but this assumes that $_ is undefined when calling the function. I prefer solutions that don't depend on the state of global variables.
                                        $endgroup$
                                        – nwellnhof
                                        yesterday













                                      3












                                      3








                                      3





                                      $begingroup$


                                      Perl 6, 34 32 bytes



                                      -2 bytes thanks to Jo King





                                      (@,[+] 1,...*)[$_+1]


                                      Try it online!



                                      Explanation



                                       # Anonymous block
                                      , ...* # Construct infinite sequence of sequences
                                      @ # Start with empty array
                                      # Compute next element as
                                      [+] # cumulative sum of
                                      1, # one followed by
                                      |.[^19] # first 19 elements of previous sequence
                                      ( )[$_+1] # Take (n+1)th element





                                      share|improve this answer











                                      $endgroup$




                                      Perl 6, 34 32 bytes



                                      -2 bytes thanks to Jo King





                                      (@,[+] 1,...*)[$_+1]


                                      Try it online!



                                      Explanation



                                       # Anonymous block
                                      , ...* # Construct infinite sequence of sequences
                                      @ # Start with empty array
                                      # Compute next element as
                                      [+] # cumulative sum of
                                      1, # one followed by
                                      |.[^19] # first 19 elements of previous sequence
                                      ( )[$_+1] # Take (n+1)th element






                                      share|improve this answer














                                      share|improve this answer



                                      share|improve this answer








                                      edited yesterday

























                                      answered 2 days ago









                                      nwellnhofnwellnhof

                                      7,24511128




                                      7,24511128











                                      • $begingroup$
                                        29 bytes (the $^a instead of $_ is necessary)
                                        $endgroup$
                                        – Jo King
                                        yesterday







                                      • 1




                                        $begingroup$
                                        @JoKing Nice, but this assumes that $_ is undefined when calling the function. I prefer solutions that don't depend on the state of global variables.
                                        $endgroup$
                                        – nwellnhof
                                        yesterday
















                                      • $begingroup$
                                        29 bytes (the $^a instead of $_ is necessary)
                                        $endgroup$
                                        – Jo King
                                        yesterday







                                      • 1




                                        $begingroup$
                                        @JoKing Nice, but this assumes that $_ is undefined when calling the function. I prefer solutions that don't depend on the state of global variables.
                                        $endgroup$
                                        – nwellnhof
                                        yesterday















                                      $begingroup$
                                      29 bytes (the $^a instead of $_ is necessary)
                                      $endgroup$
                                      – Jo King
                                      yesterday





                                      $begingroup$
                                      29 bytes (the $^a instead of $_ is necessary)
                                      $endgroup$
                                      – Jo King
                                      yesterday





                                      1




                                      1




                                      $begingroup$
                                      @JoKing Nice, but this assumes that $_ is undefined when calling the function. I prefer solutions that don't depend on the state of global variables.
                                      $endgroup$
                                      – nwellnhof
                                      yesterday




                                      $begingroup$
                                      @JoKing Nice, but this assumes that $_ is undefined when calling the function. I prefer solutions that don't depend on the state of global variables.
                                      $endgroup$
                                      – nwellnhof
                                      yesterday











                                      3












                                      $begingroup$


                                      Python 3.8 (pre-release), 62 bytes





                                      f=lambda n:[t:=1]+[t:=t+n for n in(n and f(n-1)[:-1]or[0]*19)]


                                      Try it online!




                                      Explanation



                                      f=lambda n: # funtion takes a single argument
                                      [t:=1] # This evaluates to [1] and assigns 1 to t
                                      # assignment expressions are a new feature of Python 3.8
                                      + # concatenated to
                                      [ .... ] # list comprehension

                                      # The list comprehesion works together with the
                                      # assignment expression as a scan function:
                                      [t := t+n for n in it]
                                      # This calculates all partial sums of it
                                      # (plus the initial value of t, which is 1 here)

                                      # The list comprehension iterates
                                      # over the first 19 entries of f(n-1)
                                      # or over a list of zeros for n=0
                                      for n in (n and f(n-1)[:-1] or [0]*19)





                                      share|improve this answer











                                      $endgroup$

















                                        3












                                        $begingroup$


                                        Python 3.8 (pre-release), 62 bytes





                                        f=lambda n:[t:=1]+[t:=t+n for n in(n and f(n-1)[:-1]or[0]*19)]


                                        Try it online!




                                        Explanation



                                        f=lambda n: # funtion takes a single argument
                                        [t:=1] # This evaluates to [1] and assigns 1 to t
                                        # assignment expressions are a new feature of Python 3.8
                                        + # concatenated to
                                        [ .... ] # list comprehension

                                        # The list comprehesion works together with the
                                        # assignment expression as a scan function:
                                        [t := t+n for n in it]
                                        # This calculates all partial sums of it
                                        # (plus the initial value of t, which is 1 here)

                                        # The list comprehension iterates
                                        # over the first 19 entries of f(n-1)
                                        # or over a list of zeros for n=0
                                        for n in (n and f(n-1)[:-1] or [0]*19)





                                        share|improve this answer











                                        $endgroup$















                                          3












                                          3








                                          3





                                          $begingroup$


                                          Python 3.8 (pre-release), 62 bytes





                                          f=lambda n:[t:=1]+[t:=t+n for n in(n and f(n-1)[:-1]or[0]*19)]


                                          Try it online!




                                          Explanation



                                          f=lambda n: # funtion takes a single argument
                                          [t:=1] # This evaluates to [1] and assigns 1 to t
                                          # assignment expressions are a new feature of Python 3.8
                                          + # concatenated to
                                          [ .... ] # list comprehension

                                          # The list comprehesion works together with the
                                          # assignment expression as a scan function:
                                          [t := t+n for n in it]
                                          # This calculates all partial sums of it
                                          # (plus the initial value of t, which is 1 here)

                                          # The list comprehension iterates
                                          # over the first 19 entries of f(n-1)
                                          # or over a list of zeros for n=0
                                          for n in (n and f(n-1)[:-1] or [0]*19)





                                          share|improve this answer











                                          $endgroup$




                                          Python 3.8 (pre-release), 62 bytes





                                          f=lambda n:[t:=1]+[t:=t+n for n in(n and f(n-1)[:-1]or[0]*19)]


                                          Try it online!




                                          Explanation



                                          f=lambda n: # funtion takes a single argument
                                          [t:=1] # This evaluates to [1] and assigns 1 to t
                                          # assignment expressions are a new feature of Python 3.8
                                          + # concatenated to
                                          [ .... ] # list comprehension

                                          # The list comprehesion works together with the
                                          # assignment expression as a scan function:
                                          [t := t+n for n in it]
                                          # This calculates all partial sums of it
                                          # (plus the initial value of t, which is 1 here)

                                          # The list comprehension iterates
                                          # over the first 19 entries of f(n-1)
                                          # or over a list of zeros for n=0
                                          for n in (n and f(n-1)[:-1] or [0]*19)






                                          share|improve this answer














                                          share|improve this answer



                                          share|improve this answer








                                          edited yesterday

























                                          answered yesterday









                                          ovsovs

                                          19.2k21160




                                          19.2k21160





















                                              3












                                              $begingroup$

                                              R (63 47 bytes)



                                              function(n,k=0:19)2^k*pbeta(.5,pmax(k-n,0),n+1)


                                              Online demo. This uses the regularised incomplete beta function, which gives the cumulative distribution function of a binomial, and hence just needs a bit of scaling to give partial sums of rows of Pascal's triangle.



                                              Octave (66 46 bytes)



                                              @(n,k=0:19)2.^k.*betainc(.5,max(k-n,1E-9),n+1)


                                              Online demo. Exactly the same concept, but slightly uglier because betainc, unlike R's pbeta, requires the second and third arguments to be greater than zero.



                                              Many thanks to Giuseppe for helping me to vectorise these, with significant savings.






                                              share|improve this answer











                                              $endgroup$

















                                                3












                                                $begingroup$

                                                R (63 47 bytes)



                                                function(n,k=0:19)2^k*pbeta(.5,pmax(k-n,0),n+1)


                                                Online demo. This uses the regularised incomplete beta function, which gives the cumulative distribution function of a binomial, and hence just needs a bit of scaling to give partial sums of rows of Pascal's triangle.



                                                Octave (66 46 bytes)



                                                @(n,k=0:19)2.^k.*betainc(.5,max(k-n,1E-9),n+1)


                                                Online demo. Exactly the same concept, but slightly uglier because betainc, unlike R's pbeta, requires the second and third arguments to be greater than zero.



                                                Many thanks to Giuseppe for helping me to vectorise these, with significant savings.






                                                share|improve this answer











                                                $endgroup$















                                                  3












                                                  3








                                                  3





                                                  $begingroup$

                                                  R (63 47 bytes)



                                                  function(n,k=0:19)2^k*pbeta(.5,pmax(k-n,0),n+1)


                                                  Online demo. This uses the regularised incomplete beta function, which gives the cumulative distribution function of a binomial, and hence just needs a bit of scaling to give partial sums of rows of Pascal's triangle.



                                                  Octave (66 46 bytes)



                                                  @(n,k=0:19)2.^k.*betainc(.5,max(k-n,1E-9),n+1)


                                                  Online demo. Exactly the same concept, but slightly uglier because betainc, unlike R's pbeta, requires the second and third arguments to be greater than zero.



                                                  Many thanks to Giuseppe for helping me to vectorise these, with significant savings.






                                                  share|improve this answer











                                                  $endgroup$



                                                  R (63 47 bytes)



                                                  function(n,k=0:19)2^k*pbeta(.5,pmax(k-n,0),n+1)


                                                  Online demo. This uses the regularised incomplete beta function, which gives the cumulative distribution function of a binomial, and hence just needs a bit of scaling to give partial sums of rows of Pascal's triangle.



                                                  Octave (66 46 bytes)



                                                  @(n,k=0:19)2.^k.*betainc(.5,max(k-n,1E-9),n+1)


                                                  Online demo. Exactly the same concept, but slightly uglier because betainc, unlike R's pbeta, requires the second and third arguments to be greater than zero.



                                                  Many thanks to Giuseppe for helping me to vectorise these, with significant savings.







                                                  share|improve this answer














                                                  share|improve this answer



                                                  share|improve this answer








                                                  edited 8 hours ago

























                                                  answered 20 hours ago









                                                  Peter TaylorPeter Taylor

                                                  39.7k455143




                                                  39.7k455143





















                                                      2












                                                      $begingroup$

                                                      Ruby, 74 bytes



                                                      a=->bc=[1];d=0;b==1?c=(1..20).to_a: 19.timesc<<c[d]+(a[b-1])[d];d+=1;c



                                                      Ungolfed version:



                                                      def seq num
                                                      ary = [1]
                                                      index = 0
                                                      if num == 1
                                                      ary = (1..20).to_a
                                                      else
                                                      19.timesary << ary[index]+seq(num-1)[index]; index+=1
                                                      end
                                                      return ary
                                                      end


                                                      Quite resource-intensive--the online version can't calculate the 13th metasequence.



                                                      Try it online






                                                      share|improve this answer









                                                      $endgroup$

















                                                        2












                                                        $begingroup$

                                                        Ruby, 74 bytes



                                                        a=->bc=[1];d=0;b==1?c=(1..20).to_a: 19.timesc<<c[d]+(a[b-1])[d];d+=1;c



                                                        Ungolfed version:



                                                        def seq num
                                                        ary = [1]
                                                        index = 0
                                                        if num == 1
                                                        ary = (1..20).to_a
                                                        else
                                                        19.timesary << ary[index]+seq(num-1)[index]; index+=1
                                                        end
                                                        return ary
                                                        end


                                                        Quite resource-intensive--the online version can't calculate the 13th metasequence.



                                                        Try it online






                                                        share|improve this answer









                                                        $endgroup$















                                                          2












                                                          2








                                                          2





                                                          $begingroup$

                                                          Ruby, 74 bytes



                                                          a=->bc=[1];d=0;b==1?c=(1..20).to_a: 19.timesc<<c[d]+(a[b-1])[d];d+=1;c



                                                          Ungolfed version:



                                                          def seq num
                                                          ary = [1]
                                                          index = 0
                                                          if num == 1
                                                          ary = (1..20).to_a
                                                          else
                                                          19.timesary << ary[index]+seq(num-1)[index]; index+=1
                                                          end
                                                          return ary
                                                          end


                                                          Quite resource-intensive--the online version can't calculate the 13th metasequence.



                                                          Try it online






                                                          share|improve this answer









                                                          $endgroup$



                                                          Ruby, 74 bytes



                                                          a=->bc=[1];d=0;b==1?c=(1..20).to_a: 19.timesc<<c[d]+(a[b-1])[d];d+=1;c



                                                          Ungolfed version:



                                                          def seq num
                                                          ary = [1]
                                                          index = 0
                                                          if num == 1
                                                          ary = (1..20).to_a
                                                          else
                                                          19.timesary << ary[index]+seq(num-1)[index]; index+=1
                                                          end
                                                          return ary
                                                          end


                                                          Quite resource-intensive--the online version can't calculate the 13th metasequence.



                                                          Try it online







                                                          share|improve this answer












                                                          share|improve this answer



                                                          share|improve this answer










                                                          answered 2 days ago









                                                          CG One HandedCG One Handed

                                                          815




                                                          815





















                                                              2












                                                              $begingroup$


                                                              Wolfram Language (Mathematica), 42 bytes



                                                              Nest[FoldList[Plus,1,#]&,Range[21-#],#-1]&


                                                              Try it online!






                                                              share|improve this answer









                                                              $endgroup$

















                                                                2












                                                                $begingroup$


                                                                Wolfram Language (Mathematica), 42 bytes



                                                                Nest[FoldList[Plus,1,#]&,Range[21-#],#-1]&


                                                                Try it online!






                                                                share|improve this answer









                                                                $endgroup$















                                                                  2












                                                                  2








                                                                  2





                                                                  $begingroup$


                                                                  Wolfram Language (Mathematica), 42 bytes



                                                                  Nest[FoldList[Plus,1,#]&,Range[21-#],#-1]&


                                                                  Try it online!






                                                                  share|improve this answer









                                                                  $endgroup$




                                                                  Wolfram Language (Mathematica), 42 bytes



                                                                  Nest[FoldList[Plus,1,#]&,Range[21-#],#-1]&


                                                                  Try it online!







                                                                  share|improve this answer












                                                                  share|improve this answer



                                                                  share|improve this answer










                                                                  answered yesterday









                                                                  shrapshrap

                                                                  312




                                                                  312





















                                                                      2












                                                                      $begingroup$


                                                                      05AB1E, 11 9 bytes



                                                                      20LIF.¥>¨


                                                                      0-indexed



                                                                      Try it online or verify all test cases.



                                                                      Explanation:





                                                                      20L # Create a list in the range [1,20]
                                                                      IF # Loop the input amount of times:
                                                                      .¥ # Get the cumulative sum of the current list with 0 prepended automatically
                                                                      > # Increase each value in this list by 1
                                                                      ¨ # Remove the trailing 21th item from the list
                                                                      # (after the loop, output the result-list implicitly)





                                                                      share|improve this answer











                                                                      $endgroup$








                                                                      • 1




                                                                        $begingroup$
                                                                        Nice use of !
                                                                        $endgroup$
                                                                        – Emigna
                                                                        yesterday















                                                                      2












                                                                      $begingroup$


                                                                      05AB1E, 11 9 bytes



                                                                      20LIF.¥>¨


                                                                      0-indexed



                                                                      Try it online or verify all test cases.



                                                                      Explanation:





                                                                      20L # Create a list in the range [1,20]
                                                                      IF # Loop the input amount of times:
                                                                      .¥ # Get the cumulative sum of the current list with 0 prepended automatically
                                                                      > # Increase each value in this list by 1
                                                                      ¨ # Remove the trailing 21th item from the list
                                                                      # (after the loop, output the result-list implicitly)





                                                                      share|improve this answer











                                                                      $endgroup$








                                                                      • 1




                                                                        $begingroup$
                                                                        Nice use of !
                                                                        $endgroup$
                                                                        – Emigna
                                                                        yesterday













                                                                      2












                                                                      2








                                                                      2





                                                                      $begingroup$


                                                                      05AB1E, 11 9 bytes



                                                                      20LIF.¥>¨


                                                                      0-indexed



                                                                      Try it online or verify all test cases.



                                                                      Explanation:





                                                                      20L # Create a list in the range [1,20]
                                                                      IF # Loop the input amount of times:
                                                                      .¥ # Get the cumulative sum of the current list with 0 prepended automatically
                                                                      > # Increase each value in this list by 1
                                                                      ¨ # Remove the trailing 21th item from the list
                                                                      # (after the loop, output the result-list implicitly)





                                                                      share|improve this answer











                                                                      $endgroup$




                                                                      05AB1E, 11 9 bytes



                                                                      20LIF.¥>¨


                                                                      0-indexed



                                                                      Try it online or verify all test cases.



                                                                      Explanation:





                                                                      20L # Create a list in the range [1,20]
                                                                      IF # Loop the input amount of times:
                                                                      .¥ # Get the cumulative sum of the current list with 0 prepended automatically
                                                                      > # Increase each value in this list by 1
                                                                      ¨ # Remove the trailing 21th item from the list
                                                                      # (after the loop, output the result-list implicitly)






                                                                      share|improve this answer














                                                                      share|improve this answer



                                                                      share|improve this answer








                                                                      edited yesterday

























                                                                      answered yesterday









                                                                      Kevin CruijssenKevin Cruijssen

                                                                      39.7k560203




                                                                      39.7k560203







                                                                      • 1




                                                                        $begingroup$
                                                                        Nice use of !
                                                                        $endgroup$
                                                                        – Emigna
                                                                        yesterday












                                                                      • 1




                                                                        $begingroup$
                                                                        Nice use of !
                                                                        $endgroup$
                                                                        – Emigna
                                                                        yesterday







                                                                      1




                                                                      1




                                                                      $begingroup$
                                                                      Nice use of !
                                                                      $endgroup$
                                                                      – Emigna
                                                                      yesterday




                                                                      $begingroup$
                                                                      Nice use of !
                                                                      $endgroup$
                                                                      – Emigna
                                                                      yesterday











                                                                      1












                                                                      $begingroup$

                                                                      JavaScript (ES6),  68  67 bytes





                                                                      f=(n,a=[...f+f])=>n--?f(n,[s=1,...a.map(x=>s-=~--x)]):a.slice(0,20)


                                                                      Try it online!




                                                                      JavaScript (ES6), 63 bytes



                                                                      NB: this version works for $nle20$.





                                                                      f=(n,a=[...Array(20-n)])=>n--?f(n,[s=1,...a.map(x=>s+=x||1)]):a


                                                                      Try it online!






                                                                      share|improve this answer











                                                                      $endgroup$

















                                                                        1












                                                                        $begingroup$

                                                                        JavaScript (ES6),  68  67 bytes





                                                                        f=(n,a=[...f+f])=>n--?f(n,[s=1,...a.map(x=>s-=~--x)]):a.slice(0,20)


                                                                        Try it online!




                                                                        JavaScript (ES6), 63 bytes



                                                                        NB: this version works for $nle20$.





                                                                        f=(n,a=[...Array(20-n)])=>n--?f(n,[s=1,...a.map(x=>s+=x||1)]):a


                                                                        Try it online!






                                                                        share|improve this answer











                                                                        $endgroup$















                                                                          1












                                                                          1








                                                                          1





                                                                          $begingroup$

                                                                          JavaScript (ES6),  68  67 bytes





                                                                          f=(n,a=[...f+f])=>n--?f(n,[s=1,...a.map(x=>s-=~--x)]):a.slice(0,20)


                                                                          Try it online!




                                                                          JavaScript (ES6), 63 bytes



                                                                          NB: this version works for $nle20$.





                                                                          f=(n,a=[...Array(20-n)])=>n--?f(n,[s=1,...a.map(x=>s+=x||1)]):a


                                                                          Try it online!






                                                                          share|improve this answer











                                                                          $endgroup$



                                                                          JavaScript (ES6),  68  67 bytes





                                                                          f=(n,a=[...f+f])=>n--?f(n,[s=1,...a.map(x=>s-=~--x)]):a.slice(0,20)


                                                                          Try it online!




                                                                          JavaScript (ES6), 63 bytes



                                                                          NB: this version works for $nle20$.





                                                                          f=(n,a=[...Array(20-n)])=>n--?f(n,[s=1,...a.map(x=>s+=x||1)]):a


                                                                          Try it online!







                                                                          share|improve this answer














                                                                          share|improve this answer



                                                                          share|improve this answer








                                                                          edited 2 days ago

























                                                                          answered 2 days ago









                                                                          ArnauldArnauld

                                                                          77.9k695326




                                                                          77.9k695326





















                                                                              1












                                                                              $begingroup$


                                                                              J, 24 bytes



                                                                              <:(1+/@,])^:[(1+i.20)"_


                                                                              Try it online!



                                                                              NOTE: Turns out this is a translation of dzaima's APL answer, though I actually didn't notice it before writing this.



                                                                              explanation



                                                                              <: (1 +/@, ])^:[ (1+i.20)"_
                                                                              <: NB. input minus 1 (left input)
                                                                              (1+i.20)"_ NB. 1..20 (right input)
                                                                              ( )^:[ NB. apply verb in parens
                                                                              NB. "left input" times
                                                                              (1 , ]) NB. prepend 1 to right input
                                                                              ( +/@ ) NB. and take scan sum





                                                                              share|improve this answer











                                                                              $endgroup$

















                                                                                1












                                                                                $begingroup$


                                                                                J, 24 bytes



                                                                                <:(1+/@,])^:[(1+i.20)"_


                                                                                Try it online!



                                                                                NOTE: Turns out this is a translation of dzaima's APL answer, though I actually didn't notice it before writing this.



                                                                                explanation



                                                                                <: (1 +/@, ])^:[ (1+i.20)"_
                                                                                <: NB. input minus 1 (left input)
                                                                                (1+i.20)"_ NB. 1..20 (right input)
                                                                                ( )^:[ NB. apply verb in parens
                                                                                NB. "left input" times
                                                                                (1 , ]) NB. prepend 1 to right input
                                                                                ( +/@ ) NB. and take scan sum





                                                                                share|improve this answer











                                                                                $endgroup$















                                                                                  1












                                                                                  1








                                                                                  1





                                                                                  $begingroup$


                                                                                  J, 24 bytes



                                                                                  <:(1+/@,])^:[(1+i.20)"_


                                                                                  Try it online!



                                                                                  NOTE: Turns out this is a translation of dzaima's APL answer, though I actually didn't notice it before writing this.



                                                                                  explanation



                                                                                  <: (1 +/@, ])^:[ (1+i.20)"_
                                                                                  <: NB. input minus 1 (left input)
                                                                                  (1+i.20)"_ NB. 1..20 (right input)
                                                                                  ( )^:[ NB. apply verb in parens
                                                                                  NB. "left input" times
                                                                                  (1 , ]) NB. prepend 1 to right input
                                                                                  ( +/@ ) NB. and take scan sum





                                                                                  share|improve this answer











                                                                                  $endgroup$




                                                                                  J, 24 bytes



                                                                                  <:(1+/@,])^:[(1+i.20)"_


                                                                                  Try it online!



                                                                                  NOTE: Turns out this is a translation of dzaima's APL answer, though I actually didn't notice it before writing this.



                                                                                  explanation



                                                                                  <: (1 +/@, ])^:[ (1+i.20)"_
                                                                                  <: NB. input minus 1 (left input)
                                                                                  (1+i.20)"_ NB. 1..20 (right input)
                                                                                  ( )^:[ NB. apply verb in parens
                                                                                  NB. "left input" times
                                                                                  (1 , ]) NB. prepend 1 to right input
                                                                                  ( +/@ ) NB. and take scan sum






                                                                                  share|improve this answer














                                                                                  share|improve this answer



                                                                                  share|improve this answer








                                                                                  edited yesterday

























                                                                                  answered yesterday









                                                                                  JonahJonah

                                                                                  2,3911016




                                                                                  2,3911016





















                                                                                      1












                                                                                      $begingroup$

                                                                                      Ruby, 49 bytes



                                                                                      f=->nn<1?[1]*20:[o=1]+f[n-1][0,19].mapx


                                                                                      Recursive definition: Tier 0 is 1,1,1,1... and each subsequent tier is 1 followed by a sequence whose first differences are the previous tier. Annoyingly this would give me 21 values if I didn't explicitly slice out the first 20; seems like there should be a way to shorten this by avoiding that.






                                                                                      share|improve this answer











                                                                                      $endgroup$












                                                                                      • $begingroup$
                                                                                        tio.run/#ruby pls
                                                                                        $endgroup$
                                                                                        – ASCII-only
                                                                                        yesterday










                                                                                      • $begingroup$
                                                                                        also 49
                                                                                        $endgroup$
                                                                                        – ASCII-only
                                                                                        yesterday










                                                                                      • $begingroup$
                                                                                        46
                                                                                        $endgroup$
                                                                                        – ASCII-only
                                                                                        yesterday
















                                                                                      1












                                                                                      $begingroup$

                                                                                      Ruby, 49 bytes



                                                                                      f=->nn<1?[1]*20:[o=1]+f[n-1][0,19].mapx


                                                                                      Recursive definition: Tier 0 is 1,1,1,1... and each subsequent tier is 1 followed by a sequence whose first differences are the previous tier. Annoyingly this would give me 21 values if I didn't explicitly slice out the first 20; seems like there should be a way to shorten this by avoiding that.






                                                                                      share|improve this answer











                                                                                      $endgroup$












                                                                                      • $begingroup$
                                                                                        tio.run/#ruby pls
                                                                                        $endgroup$
                                                                                        – ASCII-only
                                                                                        yesterday










                                                                                      • $begingroup$
                                                                                        also 49
                                                                                        $endgroup$
                                                                                        – ASCII-only
                                                                                        yesterday










                                                                                      • $begingroup$
                                                                                        46
                                                                                        $endgroup$
                                                                                        – ASCII-only
                                                                                        yesterday














                                                                                      1












                                                                                      1








                                                                                      1





                                                                                      $begingroup$

                                                                                      Ruby, 49 bytes



                                                                                      f=->nn<1?[1]*20:[o=1]+f[n-1][0,19].mapx


                                                                                      Recursive definition: Tier 0 is 1,1,1,1... and each subsequent tier is 1 followed by a sequence whose first differences are the previous tier. Annoyingly this would give me 21 values if I didn't explicitly slice out the first 20; seems like there should be a way to shorten this by avoiding that.






                                                                                      share|improve this answer











                                                                                      $endgroup$



                                                                                      Ruby, 49 bytes



                                                                                      f=->nn<1?[1]*20:[o=1]+f[n-1][0,19].mapx


                                                                                      Recursive definition: Tier 0 is 1,1,1,1... and each subsequent tier is 1 followed by a sequence whose first differences are the previous tier. Annoyingly this would give me 21 values if I didn't explicitly slice out the first 20; seems like there should be a way to shorten this by avoiding that.







                                                                                      share|improve this answer














                                                                                      share|improve this answer



                                                                                      share|improve this answer








                                                                                      edited yesterday

























                                                                                      answered 2 days ago









                                                                                      histocrathistocrat

                                                                                      19k43172




                                                                                      19k43172











                                                                                      • $begingroup$
                                                                                        tio.run/#ruby pls
                                                                                        $endgroup$
                                                                                        – ASCII-only
                                                                                        yesterday










                                                                                      • $begingroup$
                                                                                        also 49
                                                                                        $endgroup$
                                                                                        – ASCII-only
                                                                                        yesterday










                                                                                      • $begingroup$
                                                                                        46
                                                                                        $endgroup$
                                                                                        – ASCII-only
                                                                                        yesterday

















                                                                                      • $begingroup$
                                                                                        tio.run/#ruby pls
                                                                                        $endgroup$
                                                                                        – ASCII-only
                                                                                        yesterday










                                                                                      • $begingroup$
                                                                                        also 49
                                                                                        $endgroup$
                                                                                        – ASCII-only
                                                                                        yesterday










                                                                                      • $begingroup$
                                                                                        46
                                                                                        $endgroup$
                                                                                        – ASCII-only
                                                                                        yesterday
















                                                                                      $begingroup$
                                                                                      tio.run/#ruby pls
                                                                                      $endgroup$
                                                                                      – ASCII-only
                                                                                      yesterday




                                                                                      $begingroup$
                                                                                      tio.run/#ruby pls
                                                                                      $endgroup$
                                                                                      – ASCII-only
                                                                                      yesterday












                                                                                      $begingroup$
                                                                                      also 49
                                                                                      $endgroup$
                                                                                      – ASCII-only
                                                                                      yesterday




                                                                                      $begingroup$
                                                                                      also 49
                                                                                      $endgroup$
                                                                                      – ASCII-only
                                                                                      yesterday












                                                                                      $begingroup$
                                                                                      46
                                                                                      $endgroup$
                                                                                      – ASCII-only
                                                                                      yesterday





                                                                                      $begingroup$
                                                                                      46
                                                                                      $endgroup$
                                                                                      – ASCII-only
                                                                                      yesterday












                                                                                      1












                                                                                      $begingroup$


                                                                                      Retina, 59 bytes



                                                                                      .+
                                                                                      19*$(_,


                                                                                      Replace the input with 19 1s (in unary). (The 20th value is 0 because it always gets deleted by the first pass through the loop.)



                                                                                      "$+"`
                                                                                      )`


                                                                                      Repeat the loop the original input number of times.



                                                                                      (.+),_*
                                                                                      _,$1


                                                                                      Remove the last element and prefix a 1.



                                                                                      _+(?<=((_)gNh20õ


                                                                                      Try it







                                                                                      share|improve this answer












                                                                                      share|improve this answer



                                                                                      share|improve this answer










                                                                                      answered yesterday









                                                                                      ShaggyShaggy

                                                                                      19.4k21667




                                                                                      19.4k21667





















                                                                                          0












                                                                                          $begingroup$

                                                                                          CJam (20 bytes)



                                                                                          1aK*11$+/;]q~*p


                                                                                          Online demo. This is a program which takes input from stdin and prints to stdout; for the same score an anonymous block (function) can be obtained as



                                                                                          1aK*11$+/;]@*


                                                                                          Dissection



                                                                                          This applies the definition literally:



                                                                                          1aK* e# Start with an array of 20 1s
                                                                                          e# Loop:
                                                                                          1 e# Push a 1 before the current list
                                                                                          1$+/ e# Form partial sums (including that bonus 1)
                                                                                          ;] e# Ditch the last and gather in an array (of length 20)

                                                                                          q~* e# Take input and repeat the loop that many times
                                                                                          p e# Pretty print





                                                                                          share|improve this answer









                                                                                          $endgroup$

















                                                                                            0












                                                                                            $begingroup$

                                                                                            CJam (20 bytes)



                                                                                            1aK*11$+/;]q~*p


                                                                                            Online demo. This is a program which takes input from stdin and prints to stdout; for the same score an anonymous block (function) can be obtained as



                                                                                            1aK*11$+/;]@*


                                                                                            Dissection



                                                                                            This applies the definition literally:



                                                                                            1aK* e# Start with an array of 20 1s
                                                                                            e# Loop:
                                                                                            1 e# Push a 1 before the current list
                                                                                            1$+/ e# Form partial sums (including that bonus 1)
                                                                                            ;] e# Ditch the last and gather in an array (of length 20)

                                                                                            q~* e# Take input and repeat the loop that many times
                                                                                            p e# Pretty print





                                                                                            share|improve this answer









                                                                                            $endgroup$















                                                                                              0












                                                                                              0








                                                                                              0





                                                                                              $begingroup$

                                                                                              CJam (20 bytes)



                                                                                              1aK*11$+/;]q~*p


                                                                                              Online demo. This is a program which takes input from stdin and prints to stdout; for the same score an anonymous block (function) can be obtained as



                                                                                              1aK*11$+/;]@*


                                                                                              Dissection



                                                                                              This applies the definition literally:



                                                                                              1aK* e# Start with an array of 20 1s
                                                                                              e# Loop:
                                                                                              1 e# Push a 1 before the current list
                                                                                              1$+/ e# Form partial sums (including that bonus 1)
                                                                                              ;] e# Ditch the last and gather in an array (of length 20)

                                                                                              q~* e# Take input and repeat the loop that many times
                                                                                              p e# Pretty print





                                                                                              share|improve this answer









                                                                                              $endgroup$



                                                                                              CJam (20 bytes)



                                                                                              1aK*11$+/;]q~*p


                                                                                              Online demo. This is a program which takes input from stdin and prints to stdout; for the same score an anonymous block (function) can be obtained as



                                                                                              1aK*11$+/;]@*


                                                                                              Dissection



                                                                                              This applies the definition literally:



                                                                                              1aK* e# Start with an array of 20 1s
                                                                                              e# Loop:
                                                                                              1 e# Push a 1 before the current list
                                                                                              1$+/ e# Form partial sums (including that bonus 1)
                                                                                              ;] e# Ditch the last and gather in an array (of length 20)

                                                                                              q~* e# Take input and repeat the loop that many times
                                                                                              p e# Pretty print






                                                                                              share|improve this answer












                                                                                              share|improve this answer



                                                                                              share|improve this answer










                                                                                              answered 4 hours ago









                                                                                              Peter TaylorPeter Taylor

                                                                                              39.7k455143




                                                                                              39.7k455143



























                                                                                                  draft saved

                                                                                                  draft discarded
















































                                                                                                  If this is an answer to a challenge…



                                                                                                  • …Be sure to follow the challenge specification. However, please refrain from exploiting obvious loopholes. Answers abusing any of the standard loopholes are considered invalid. If you think a specification is unclear or underspecified, comment on the question instead.


                                                                                                  • …Try to optimize your score. For instance, answers to code-golf challenges should attempt to be as short as possible. You can always include a readable version of the code in addition to the competitive one.
                                                                                                    Explanations of your answer make it more interesting to read and are very much encouraged.


                                                                                                  • …Include a short header which indicates the language(s) of your code and its score, as defined by the challenge.


                                                                                                  More generally…



                                                                                                  • …Please make sure to answer the question and provide sufficient detail.


                                                                                                  • …Avoid asking for help, clarification or responding to other answers (use comments instead).




                                                                                                  draft saved


                                                                                                  draft discarded














                                                                                                  StackExchange.ready(
                                                                                                  function ()
                                                                                                  StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fcodegolf.stackexchange.com%2fquestions%2f180855%2fmake-me-a-metasequence%23new-answer', 'question_page');

                                                                                                  );

                                                                                                  Post as a guest















                                                                                                  Required, but never shown





















































                                                                                                  Required, but never shown














                                                                                                  Required, but never shown












                                                                                                  Required, but never shown







                                                                                                  Required, but never shown

































                                                                                                  Required, but never shown














                                                                                                  Required, but never shown












                                                                                                  Required, but never shown







                                                                                                  Required, but never shown







                                                                                                  Popular posts from this blog

                                                                                                  AWS Lex not identifying response if by a variable The 2019 Stack Overflow Developer Survey Results Are In Announcing the arrival of Valued Associate #679: Cesar Manara Planned maintenance scheduled April 17/18, 2019 at 00:00UTC (8:00pm US/Eastern) The Ask Question Wizard is Live! Data science time! April 2019 and salary with experienceEnforcing custom enumeration in AWS LEX for slot valuesHow to give response based on user response in Amazon Lex?Intercepting AWS Lambda Response to a AWS Lex QueryLex chat bot error: Reached second execution of fulfillment lambda on the same utteranceamazon lex showing invalid responseLambda response send back to Lex slot?Response card in Amazon lexAmazon Lex - Lambda response return HTML to botHow can I solve 424 (Failed Dependency) (python) obtained from Amazon lex?

                                                                                                  Алба-Юлія

                                                                                                  Захаров Федір Захарович