Make me a metasequence
$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
code-golf math sequence subsequence
$endgroup$
|
show 3 more comments
$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
code-golf math sequence subsequence
$endgroup$
2
$begingroup$
I assume you mean 20 terms, not digits?
$endgroup$
– Quintec
16 hours ago
$begingroup$
What do you mean by "tier"?
$endgroup$
– DavidC
15 hours ago
4
$begingroup$
By the way, the tier three metasequence is OEIS A000125
$endgroup$
– Embodiment of Ignorance
15 hours ago
5
$begingroup$
You may want to clarify if solutions have to work for input 20 or greater.
$endgroup$
– FryAmTheEggman
15 hours ago
4
$begingroup$
Can we choose to 0-index (so, output tier 1 for input0, tier 2 for input1, etc.)?
$endgroup$
– Lynn
15 hours ago
|
show 3 more comments
$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
code-golf math sequence subsequence
$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
code-golf math sequence subsequence
edited 15 hours ago
Geza Kerecsenyi
asked 16 hours ago
Geza KerecsenyiGeza Kerecsenyi
19910
19910
2
$begingroup$
I assume you mean 20 terms, not digits?
$endgroup$
– Quintec
16 hours ago
$begingroup$
What do you mean by "tier"?
$endgroup$
– DavidC
15 hours ago
4
$begingroup$
By the way, the tier three metasequence is OEIS A000125
$endgroup$
– Embodiment of Ignorance
15 hours ago
5
$begingroup$
You may want to clarify if solutions have to work for input 20 or greater.
$endgroup$
– FryAmTheEggman
15 hours ago
4
$begingroup$
Can we choose to 0-index (so, output tier 1 for input0, tier 2 for input1, etc.)?
$endgroup$
– Lynn
15 hours ago
|
show 3 more comments
2
$begingroup$
I assume you mean 20 terms, not digits?
$endgroup$
– Quintec
16 hours ago
$begingroup$
What do you mean by "tier"?
$endgroup$
– DavidC
15 hours ago
4
$begingroup$
By the way, the tier three metasequence is OEIS A000125
$endgroup$
– Embodiment of Ignorance
15 hours ago
5
$begingroup$
You may want to clarify if solutions have to work for input 20 or greater.
$endgroup$
– FryAmTheEggman
15 hours ago
4
$begingroup$
Can we choose to 0-index (so, output tier 1 for input0, tier 2 for input1, etc.)?
$endgroup$
– Lynn
15 hours ago
2
2
$begingroup$
I assume you mean 20 terms, not digits?
$endgroup$
– Quintec
16 hours ago
$begingroup$
I assume you mean 20 terms, not digits?
$endgroup$
– Quintec
16 hours ago
$begingroup$
What do you mean by "tier"?
$endgroup$
– DavidC
15 hours ago
$begingroup$
What do you mean by "tier"?
$endgroup$
– DavidC
15 hours ago
4
4
$begingroup$
By the way, the tier three metasequence is OEIS A000125
$endgroup$
– Embodiment of Ignorance
15 hours ago
$begingroup$
By the way, the tier three metasequence is OEIS A000125
$endgroup$
– Embodiment of Ignorance
15 hours ago
5
5
$begingroup$
You may want to clarify if solutions have to work for input 20 or greater.
$endgroup$
– FryAmTheEggman
15 hours ago
$begingroup$
You may want to clarify if solutions have to work for input 20 or greater.
$endgroup$
– FryAmTheEggman
15 hours 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
15 hours ago
$begingroup$
Can we choose to 0-index (so, output tier 1 for input
0, tier 2 for input 1, etc.)?$endgroup$
– Lynn
15 hours ago
|
show 3 more comments
20 Answers
20
active
oldest
votes
$begingroup$
Haskell, 34 bytes
f n=iterate(scanl(+)1)[1..20-n]!!n
Try it online!
Uses zero-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.
$endgroup$
add a comment |
$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.
$endgroup$
$begingroup$
Nice insight! :)
$endgroup$
– Lynn
13 hours ago
add a comment |
$begingroup$
Jelly, 8 bytes
20ḶcþRS‘
Try it online!
cþ Table of binom(x,y) where:
20Ḷ x = [0..19]
R y = [1..n] e.g. n=3 → [[0, 1, 2, 3, 4, 5, …]
[0, 0, 1, 3, 6, 10, …]
[0, 0, 0, 1, 4, 10, …]]
S Columnwise sum. → [0, 1, 3, 7, 14, 25, …]
‘ Add one. → [1, 2, 4, 8, 15, 26, …]
This uses @alephalpha’s insight that $$text{meta-sequence}_n(i) = sum_{k=0}^n binom ik = 1+sum_{k=1}^n binom ik.$$
$endgroup$
add a comment |
$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-1}a(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)
$endgroup$
$begingroup$
61 bytes as a recursive lambda function (Significantly more inefficient).
$endgroup$
– ovs
10 hours ago
$begingroup$
@ovs Thanks! I found a couple more bytes by using a different base case, too.
$endgroup$
– DLosc
10 hours ago
$begingroup$
:( the nice way is too long
$endgroup$
– ASCII-only
10 hours ago
$begingroup$
or a combinations builtin, yeah
$endgroup$
– ASCII-only
9 hours ago
$begingroup$
closer (with stolen combinations function)
$endgroup$
– ASCII-only
9 hours ago
|
show 1 more comment
$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}^nfrac{x^i}{(1-x)^{i+1}}=frac{1-left(frac{x}{1-x}right)^{1+n}}{1-2x}$$
$endgroup$
add a comment |
$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
$endgroup$
$begingroup$
-1 byte using dzaima/APL:1∘,→1,
$endgroup$
– Adám
15 hours ago
$begingroup$
@Adám oh duh.. right
$endgroup$
– dzaima
15 hours ago
$begingroup$
Full program at 17:(≢↑(+1∘,)⍣⎕)20⍴1
$endgroup$
– Adám
15 hours ago
$begingroup$
14 bytes by using the REPL (add the-sflag).
$endgroup$
– Erik the Outgolfer
13 hours ago
$begingroup$
If you use the flag, language becomes-sbtw (unless-sis repl flag?)
$endgroup$
– ASCII-only
9 hours ago
add a comment |
$begingroup$
Perl 6, 34 32 bytes
-2 bytes thanks to Jo King
{(@,{[+] 1,|.[^19]}...*)[$_+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
$endgroup$
$begingroup$
29 bytes (the$^ainstead of$_is necessary)
$endgroup$
– Jo King
10 hours ago
add a comment |
$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)
$endgroup$
add a comment |
$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!
$endgroup$
add a comment |
$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
$endgroup$
add a comment |
$begingroup$
Wolfram Language (Mathematica), 42 bytes
Nest[FoldList[Plus,1,#]&,Range[21-#],#-1]&
Try it online!
$endgroup$
add a comment |
$begingroup$
Ruby, 49 bytes
f=->n{n<1?[1]*20:[o=1]+f[n-1][0,19].map{|x|o+=x}}
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.
$endgroup$
$begingroup$
tio.run/#ruby pls
$endgroup$
– ASCII-only
9 hours ago
$begingroup$
also 49
$endgroup$
– ASCII-only
9 hours ago
$begingroup$
46
$endgroup$
– ASCII-only
9 hours ago
add a comment |
$begingroup$
JavaScript (Node.js), 58 bytes
t=>Array(20).fill(t).map(g=(t,i)=>i--*t?g(t,i)+g(t-1,i):1)
Try it online!
It is trivial to write down following recursive formula based on the description in question
$$ g(t,i)=begin{cases}
g(t,i-1)+g(t-1,i-1) & text{if} quad icdot t>0 \
1 & text{if} quad icdot t=0 \
end{cases} $$
And you just need to generate an Array of 20 elements with $[g(t,0)dots g(t,19)]$
$endgroup$
add a comment |
$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)
$endgroup$
$begingroup$
Nice use of.¥!
$endgroup$
– Emigna
10 mins ago
add a comment |
$begingroup$
Ruby, 74 bytes
a=->b{c=[1];d=0;b==1?c=(1..20).to_a: 19.times{c<<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.times{ary << 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
$endgroup$
add a comment |
$begingroup$
Jelly, 10 bytes
20RṖ1;ÄƲ⁸¡
Try it online!
0-indexed.
$endgroup$
add a comment |
$begingroup$
R, 59 bytes
Reduce(function(x,y)diffinv(x,,,y),!!1:scan(),!!1:19)[1:20]
Try it online!
Repeated diffinv with xi=1, and subset out the first 20 terms.
$endgroup$
add a comment |
$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.
_+(?<=((_)|,)+)
$#2*
Calculate the cumulative sum.
_+
$.&
Convert to decimal.
Try it online!
$endgroup$
add a comment |
$begingroup$
C# (Visual C# Interactive Compiler), 120 bytes
n=>{for(long i=-1,h=0,m=0;++i<20;Print(i<1?1:h))for(m=h=0;m<=n;)h+=f(i)/(f(m)*f(i-m++));long f(long a)=>a>1?a*f(a-1):1;}
Try it online!
Based off of alephalpha's formula.
$endgroup$
add a comment |
$begingroup$
K (oK), 18 bytes
{x(+1,19#)/1+!20}
Try it online!
0-indexed
$endgroup$
add a comment |
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
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
20 Answers
20
active
oldest
votes
20 Answers
20
active
oldest
votes
active
oldest
votes
active
oldest
votes
$begingroup$
Haskell, 34 bytes
f n=iterate(scanl(+)1)[1..20-n]!!n
Try it online!
Uses zero-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.
$endgroup$
add a comment |
$begingroup$
Haskell, 34 bytes
f n=iterate(scanl(+)1)[1..20-n]!!n
Try it online!
Uses zero-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.
$endgroup$
add a comment |
$begingroup$
Haskell, 34 bytes
f n=iterate(scanl(+)1)[1..20-n]!!n
Try it online!
Uses zero-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.
$endgroup$
Haskell, 34 bytes
f n=iterate(scanl(+)1)[1..20-n]!!n
Try it online!
Uses zero-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.
edited 11 hours ago
answered 15 hours ago
LynnLynn
50.2k797231
50.2k797231
add a comment |
add a comment |
$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.
$endgroup$
$begingroup$
Nice insight! :)
$endgroup$
– Lynn
13 hours ago
add a comment |
$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.
$endgroup$
$begingroup$
Nice insight! :)
$endgroup$
– Lynn
13 hours ago
add a comment |
$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.
$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.
edited 4 hours ago
answered 15 hours ago
alephalphaalephalpha
21.7k32994
21.7k32994
$begingroup$
Nice insight! :)
$endgroup$
– Lynn
13 hours ago
add a comment |
$begingroup$
Nice insight! :)
$endgroup$
– Lynn
13 hours ago
$begingroup$
Nice insight! :)
$endgroup$
– Lynn
13 hours ago
$begingroup$
Nice insight! :)
$endgroup$
– Lynn
13 hours ago
add a comment |
$begingroup$
Jelly, 8 bytes
20ḶcþRS‘
Try it online!
cþ Table of binom(x,y) where:
20Ḷ x = [0..19]
R y = [1..n] e.g. n=3 → [[0, 1, 2, 3, 4, 5, …]
[0, 0, 1, 3, 6, 10, …]
[0, 0, 0, 1, 4, 10, …]]
S Columnwise sum. → [0, 1, 3, 7, 14, 25, …]
‘ Add one. → [1, 2, 4, 8, 15, 26, …]
This uses @alephalpha’s insight that $$text{meta-sequence}_n(i) = sum_{k=0}^n binom ik = 1+sum_{k=1}^n binom ik.$$
$endgroup$
add a comment |
$begingroup$
Jelly, 8 bytes
20ḶcþRS‘
Try it online!
cþ Table of binom(x,y) where:
20Ḷ x = [0..19]
R y = [1..n] e.g. n=3 → [[0, 1, 2, 3, 4, 5, …]
[0, 0, 1, 3, 6, 10, …]
[0, 0, 0, 1, 4, 10, …]]
S Columnwise sum. → [0, 1, 3, 7, 14, 25, …]
‘ Add one. → [1, 2, 4, 8, 15, 26, …]
This uses @alephalpha’s insight that $$text{meta-sequence}_n(i) = sum_{k=0}^n binom ik = 1+sum_{k=1}^n binom ik.$$
$endgroup$
add a comment |
$begingroup$
Jelly, 8 bytes
20ḶcþRS‘
Try it online!
cþ Table of binom(x,y) where:
20Ḷ x = [0..19]
R y = [1..n] e.g. n=3 → [[0, 1, 2, 3, 4, 5, …]
[0, 0, 1, 3, 6, 10, …]
[0, 0, 0, 1, 4, 10, …]]
S Columnwise sum. → [0, 1, 3, 7, 14, 25, …]
‘ Add one. → [1, 2, 4, 8, 15, 26, …]
This uses @alephalpha’s insight that $$text{meta-sequence}_n(i) = sum_{k=0}^n binom ik = 1+sum_{k=1}^n binom ik.$$
$endgroup$
Jelly, 8 bytes
20ḶcþRS‘
Try it online!
cþ Table of binom(x,y) where:
20Ḷ x = [0..19]
R y = [1..n] e.g. n=3 → [[0, 1, 2, 3, 4, 5, …]
[0, 0, 1, 3, 6, 10, …]
[0, 0, 0, 1, 4, 10, …]]
S Columnwise sum. → [0, 1, 3, 7, 14, 25, …]
‘ Add one. → [1, 2, 4, 8, 15, 26, …]
This uses @alephalpha’s insight that $$text{meta-sequence}_n(i) = sum_{k=0}^n binom ik = 1+sum_{k=1}^n binom ik.$$
edited 12 hours ago
answered 12 hours ago
LynnLynn
50.2k797231
50.2k797231
add a comment |
add a comment |
$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-1}a(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)
$endgroup$
$begingroup$
61 bytes as a recursive lambda function (Significantly more inefficient).
$endgroup$
– ovs
10 hours ago
$begingroup$
@ovs Thanks! I found a couple more bytes by using a different base case, too.
$endgroup$
– DLosc
10 hours ago
$begingroup$
:( the nice way is too long
$endgroup$
– ASCII-only
10 hours ago
$begingroup$
or a combinations builtin, yeah
$endgroup$
– ASCII-only
9 hours ago
$begingroup$
closer (with stolen combinations function)
$endgroup$
– ASCII-only
9 hours ago
|
show 1 more comment
$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-1}a(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)
$endgroup$
$begingroup$
61 bytes as a recursive lambda function (Significantly more inefficient).
$endgroup$
– ovs
10 hours ago
$begingroup$
@ovs Thanks! I found a couple more bytes by using a different base case, too.
$endgroup$
– DLosc
10 hours ago
$begingroup$
:( the nice way is too long
$endgroup$
– ASCII-only
10 hours ago
$begingroup$
or a combinations builtin, yeah
$endgroup$
– ASCII-only
9 hours ago
$begingroup$
closer (with stolen combinations function)
$endgroup$
– ASCII-only
9 hours ago
|
show 1 more comment
$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-1}a(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)
$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-1}a(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)
edited 9 hours ago
answered 10 hours ago
DLoscDLosc
19.3k33889
19.3k33889
$begingroup$
61 bytes as a recursive lambda function (Significantly more inefficient).
$endgroup$
– ovs
10 hours ago
$begingroup$
@ovs Thanks! I found a couple more bytes by using a different base case, too.
$endgroup$
– DLosc
10 hours ago
$begingroup$
:( the nice way is too long
$endgroup$
– ASCII-only
10 hours ago
$begingroup$
or a combinations builtin, yeah
$endgroup$
– ASCII-only
9 hours ago
$begingroup$
closer (with stolen combinations function)
$endgroup$
– ASCII-only
9 hours ago
|
show 1 more comment
$begingroup$
61 bytes as a recursive lambda function (Significantly more inefficient).
$endgroup$
– ovs
10 hours ago
$begingroup$
@ovs Thanks! I found a couple more bytes by using a different base case, too.
$endgroup$
– DLosc
10 hours ago
$begingroup$
:( the nice way is too long
$endgroup$
– ASCII-only
10 hours ago
$begingroup$
or a combinations builtin, yeah
$endgroup$
– ASCII-only
9 hours ago
$begingroup$
closer (with stolen combinations function)
$endgroup$
– ASCII-only
9 hours ago
$begingroup$
61 bytes as a recursive lambda function (Significantly more inefficient).
$endgroup$
– ovs
10 hours ago
$begingroup$
61 bytes as a recursive lambda function (Significantly more inefficient).
$endgroup$
– ovs
10 hours ago
$begingroup$
@ovs Thanks! I found a couple more bytes by using a different base case, too.
$endgroup$
– DLosc
10 hours ago
$begingroup$
@ovs Thanks! I found a couple more bytes by using a different base case, too.
$endgroup$
– DLosc
10 hours ago
$begingroup$
:( the nice way is too long
$endgroup$
– ASCII-only
10 hours ago
$begingroup$
:( the nice way is too long
$endgroup$
– ASCII-only
10 hours ago
$begingroup$
or a combinations builtin, yeah
$endgroup$
– ASCII-only
9 hours ago
$begingroup$
or a combinations builtin, yeah
$endgroup$
– ASCII-only
9 hours ago
$begingroup$
closer (with stolen combinations function)
$endgroup$
– ASCII-only
9 hours ago
$begingroup$
closer (with stolen combinations function)
$endgroup$
– ASCII-only
9 hours ago
|
show 1 more comment
$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}^nfrac{x^i}{(1-x)^{i+1}}=frac{1-left(frac{x}{1-x}right)^{1+n}}{1-2x}$$
$endgroup$
add a comment |
$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}^nfrac{x^i}{(1-x)^{i+1}}=frac{1-left(frac{x}{1-x}right)^{1+n}}{1-2x}$$
$endgroup$
add a comment |
$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}^nfrac{x^i}{(1-x)^{i+1}}=frac{1-left(frac{x}{1-x}right)^{1+n}}{1-2x}$$
$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}^nfrac{x^i}{(1-x)^{i+1}}=frac{1-left(frac{x}{1-x}right)^{1+n}}{1-2x}$$
edited 14 hours ago
answered 14 hours ago
alephalphaalephalpha
21.7k32994
21.7k32994
add a comment |
add a comment |
$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
$endgroup$
$begingroup$
-1 byte using dzaima/APL:1∘,→1,
$endgroup$
– Adám
15 hours ago
$begingroup$
@Adám oh duh.. right
$endgroup$
– dzaima
15 hours ago
$begingroup$
Full program at 17:(≢↑(+1∘,)⍣⎕)20⍴1
$endgroup$
– Adám
15 hours ago
$begingroup$
14 bytes by using the REPL (add the-sflag).
$endgroup$
– Erik the Outgolfer
13 hours ago
$begingroup$
If you use the flag, language becomes-sbtw (unless-sis repl flag?)
$endgroup$
– ASCII-only
9 hours ago
add a comment |
$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
$endgroup$
$begingroup$
-1 byte using dzaima/APL:1∘,→1,
$endgroup$
– Adám
15 hours ago
$begingroup$
@Adám oh duh.. right
$endgroup$
– dzaima
15 hours ago
$begingroup$
Full program at 17:(≢↑(+1∘,)⍣⎕)20⍴1
$endgroup$
– Adám
15 hours ago
$begingroup$
14 bytes by using the REPL (add the-sflag).
$endgroup$
– Erik the Outgolfer
13 hours ago
$begingroup$
If you use the flag, language becomes-sbtw (unless-sis repl flag?)
$endgroup$
– ASCII-only
9 hours ago
add a comment |
$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
$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
edited 13 hours ago
answered 15 hours ago
dzaimadzaima
15.2k21856
15.2k21856
$begingroup$
-1 byte using dzaima/APL:1∘,→1,
$endgroup$
– Adám
15 hours ago
$begingroup$
@Adám oh duh.. right
$endgroup$
– dzaima
15 hours ago
$begingroup$
Full program at 17:(≢↑(+1∘,)⍣⎕)20⍴1
$endgroup$
– Adám
15 hours ago
$begingroup$
14 bytes by using the REPL (add the-sflag).
$endgroup$
– Erik the Outgolfer
13 hours ago
$begingroup$
If you use the flag, language becomes-sbtw (unless-sis repl flag?)
$endgroup$
– ASCII-only
9 hours ago
add a comment |
$begingroup$
-1 byte using dzaima/APL:1∘,→1,
$endgroup$
– Adám
15 hours ago
$begingroup$
@Adám oh duh.. right
$endgroup$
– dzaima
15 hours ago
$begingroup$
Full program at 17:(≢↑(+1∘,)⍣⎕)20⍴1
$endgroup$
– Adám
15 hours ago
$begingroup$
14 bytes by using the REPL (add the-sflag).
$endgroup$
– Erik the Outgolfer
13 hours ago
$begingroup$
If you use the flag, language becomes-sbtw (unless-sis repl flag?)
$endgroup$
– ASCII-only
9 hours ago
$begingroup$
-1 byte using dzaima/APL:
1∘, → 1,$endgroup$
– Adám
15 hours ago
$begingroup$
-1 byte using dzaima/APL:
1∘, → 1,$endgroup$
– Adám
15 hours ago
$begingroup$
@Adám oh duh.. right
$endgroup$
– dzaima
15 hours ago
$begingroup$
@Adám oh duh.. right
$endgroup$
– dzaima
15 hours ago
$begingroup$
Full program at 17:
(≢↑(+1∘,)⍣⎕)20⍴1$endgroup$
– Adám
15 hours ago
$begingroup$
Full program at 17:
(≢↑(+1∘,)⍣⎕)20⍴1$endgroup$
– Adám
15 hours ago
$begingroup$
14 bytes by using the REPL (add the
-s flag).$endgroup$
– Erik the Outgolfer
13 hours ago
$begingroup$
14 bytes by using the REPL (add the
-s flag).$endgroup$
– Erik the Outgolfer
13 hours ago
$begingroup$
If you use the flag, language becomes
-s btw (unless -s is repl flag?)$endgroup$
– ASCII-only
9 hours ago
$begingroup$
If you use the flag, language becomes
-s btw (unless -s is repl flag?)$endgroup$
– ASCII-only
9 hours ago
add a comment |
$begingroup$
Perl 6, 34 32 bytes
-2 bytes thanks to Jo King
{(@,{[+] 1,|.[^19]}...*)[$_+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
$endgroup$
$begingroup$
29 bytes (the$^ainstead of$_is necessary)
$endgroup$
– Jo King
10 hours ago
add a comment |
$begingroup$
Perl 6, 34 32 bytes
-2 bytes thanks to Jo King
{(@,{[+] 1,|.[^19]}...*)[$_+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
$endgroup$
$begingroup$
29 bytes (the$^ainstead of$_is necessary)
$endgroup$
– Jo King
10 hours ago
add a comment |
$begingroup$
Perl 6, 34 32 bytes
-2 bytes thanks to Jo King
{(@,{[+] 1,|.[^19]}...*)[$_+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
$endgroup$
Perl 6, 34 32 bytes
-2 bytes thanks to Jo King
{(@,{[+] 1,|.[^19]}...*)[$_+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
edited 10 hours ago
answered 12 hours ago
nwellnhofnwellnhof
7,21511128
7,21511128
$begingroup$
29 bytes (the$^ainstead of$_is necessary)
$endgroup$
– Jo King
10 hours ago
add a comment |
$begingroup$
29 bytes (the$^ainstead of$_is necessary)
$endgroup$
– Jo King
10 hours ago
$begingroup$
29 bytes (the
$^a instead of $_ is necessary)$endgroup$
– Jo King
10 hours ago
$begingroup$
29 bytes (the
$^a instead of $_ is necessary)$endgroup$
– Jo King
10 hours ago
add a comment |
$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)
$endgroup$
add a comment |
$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)
$endgroup$
add a comment |
$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)
$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)
edited 10 hours ago
answered 11 hours ago
ovsovs
19.2k21160
19.2k21160
add a comment |
add a comment |
$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!
$endgroup$
add a comment |
$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!
$endgroup$
add a comment |
$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!
$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!
edited 12 hours ago
answered 15 hours ago
ArnauldArnauld
77.7k694325
77.7k694325
add a comment |
add a comment |
$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
$endgroup$
add a comment |
$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
$endgroup$
add a comment |
$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
$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
edited 10 hours ago
answered 10 hours ago
JonahJonah
2,371916
2,371916
add a comment |
add a comment |
$begingroup$
Wolfram Language (Mathematica), 42 bytes
Nest[FoldList[Plus,1,#]&,Range[21-#],#-1]&
Try it online!
$endgroup$
add a comment |
$begingroup$
Wolfram Language (Mathematica), 42 bytes
Nest[FoldList[Plus,1,#]&,Range[21-#],#-1]&
Try it online!
$endgroup$
add a comment |
$begingroup$
Wolfram Language (Mathematica), 42 bytes
Nest[FoldList[Plus,1,#]&,Range[21-#],#-1]&
Try it online!
$endgroup$
Wolfram Language (Mathematica), 42 bytes
Nest[FoldList[Plus,1,#]&,Range[21-#],#-1]&
Try it online!
answered 10 hours ago
shrapshrap
211
211
add a comment |
add a comment |
$begingroup$
Ruby, 49 bytes
f=->n{n<1?[1]*20:[o=1]+f[n-1][0,19].map{|x|o+=x}}
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.
$endgroup$
$begingroup$
tio.run/#ruby pls
$endgroup$
– ASCII-only
9 hours ago
$begingroup$
also 49
$endgroup$
– ASCII-only
9 hours ago
$begingroup$
46
$endgroup$
– ASCII-only
9 hours ago
add a comment |
$begingroup$
Ruby, 49 bytes
f=->n{n<1?[1]*20:[o=1]+f[n-1][0,19].map{|x|o+=x}}
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.
$endgroup$
$begingroup$
tio.run/#ruby pls
$endgroup$
– ASCII-only
9 hours ago
$begingroup$
also 49
$endgroup$
– ASCII-only
9 hours ago
$begingroup$
46
$endgroup$
– ASCII-only
9 hours ago
add a comment |
$begingroup$
Ruby, 49 bytes
f=->n{n<1?[1]*20:[o=1]+f[n-1][0,19].map{|x|o+=x}}
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.
$endgroup$
Ruby, 49 bytes
f=->n{n<1?[1]*20:[o=1]+f[n-1][0,19].map{|x|o+=x}}
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.
edited 9 hours ago
answered 13 hours ago
histocrathistocrat
19k43172
19k43172
$begingroup$
tio.run/#ruby pls
$endgroup$
– ASCII-only
9 hours ago
$begingroup$
also 49
$endgroup$
– ASCII-only
9 hours ago
$begingroup$
46
$endgroup$
– ASCII-only
9 hours ago
add a comment |
$begingroup$
tio.run/#ruby pls
$endgroup$
– ASCII-only
9 hours ago
$begingroup$
also 49
$endgroup$
– ASCII-only
9 hours ago
$begingroup$
46
$endgroup$
– ASCII-only
9 hours ago
$begingroup$
tio.run/#ruby pls
$endgroup$
– ASCII-only
9 hours ago
$begingroup$
tio.run/#ruby pls
$endgroup$
– ASCII-only
9 hours ago
$begingroup$
also 49
$endgroup$
– ASCII-only
9 hours ago
$begingroup$
also 49
$endgroup$
– ASCII-only
9 hours ago
$begingroup$
46
$endgroup$
– ASCII-only
9 hours ago
$begingroup$
46
$endgroup$
– ASCII-only
9 hours ago
add a comment |
$begingroup$
JavaScript (Node.js), 58 bytes
t=>Array(20).fill(t).map(g=(t,i)=>i--*t?g(t,i)+g(t-1,i):1)
Try it online!
It is trivial to write down following recursive formula based on the description in question
$$ g(t,i)=begin{cases}
g(t,i-1)+g(t-1,i-1) & text{if} quad icdot t>0 \
1 & text{if} quad icdot t=0 \
end{cases} $$
And you just need to generate an Array of 20 elements with $[g(t,0)dots g(t,19)]$
$endgroup$
add a comment |
$begingroup$
JavaScript (Node.js), 58 bytes
t=>Array(20).fill(t).map(g=(t,i)=>i--*t?g(t,i)+g(t-1,i):1)
Try it online!
It is trivial to write down following recursive formula based on the description in question
$$ g(t,i)=begin{cases}
g(t,i-1)+g(t-1,i-1) & text{if} quad icdot t>0 \
1 & text{if} quad icdot t=0 \
end{cases} $$
And you just need to generate an Array of 20 elements with $[g(t,0)dots g(t,19)]$
$endgroup$
add a comment |
$begingroup$
JavaScript (Node.js), 58 bytes
t=>Array(20).fill(t).map(g=(t,i)=>i--*t?g(t,i)+g(t-1,i):1)
Try it online!
It is trivial to write down following recursive formula based on the description in question
$$ g(t,i)=begin{cases}
g(t,i-1)+g(t-1,i-1) & text{if} quad icdot t>0 \
1 & text{if} quad icdot t=0 \
end{cases} $$
And you just need to generate an Array of 20 elements with $[g(t,0)dots g(t,19)]$
$endgroup$
JavaScript (Node.js), 58 bytes
t=>Array(20).fill(t).map(g=(t,i)=>i--*t?g(t,i)+g(t-1,i):1)
Try it online!
It is trivial to write down following recursive formula based on the description in question
$$ g(t,i)=begin{cases}
g(t,i-1)+g(t-1,i-1) & text{if} quad icdot t>0 \
1 & text{if} quad icdot t=0 \
end{cases} $$
And you just need to generate an Array of 20 elements with $[g(t,0)dots g(t,19)]$
edited 2 hours ago
answered 6 hours ago
tshtsh
9,31511652
9,31511652
add a comment |
add a comment |
$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)
$endgroup$
$begingroup$
Nice use of.¥!
$endgroup$
– Emigna
10 mins ago
add a comment |
$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)
$endgroup$
$begingroup$
Nice use of.¥!
$endgroup$
– Emigna
10 mins ago
add a comment |
$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)
$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)
edited 1 hour ago
answered 1 hour ago
Kevin CruijssenKevin Cruijssen
39.4k560203
39.4k560203
$begingroup$
Nice use of.¥!
$endgroup$
– Emigna
10 mins ago
add a comment |
$begingroup$
Nice use of.¥!
$endgroup$
– Emigna
10 mins ago
$begingroup$
Nice use of
.¥!$endgroup$
– Emigna
10 mins ago
$begingroup$
Nice use of
.¥!$endgroup$
– Emigna
10 mins ago
add a comment |
$begingroup$
Ruby, 74 bytes
a=->b{c=[1];d=0;b==1?c=(1..20).to_a: 19.times{c<<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.times{ary << 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
$endgroup$
add a comment |
$begingroup$
Ruby, 74 bytes
a=->b{c=[1];d=0;b==1?c=(1..20).to_a: 19.times{c<<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.times{ary << 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
$endgroup$
add a comment |
$begingroup$
Ruby, 74 bytes
a=->b{c=[1];d=0;b==1?c=(1..20).to_a: 19.times{c<<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.times{ary << 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
$endgroup$
Ruby, 74 bytes
a=->b{c=[1];d=0;b==1?c=(1..20).to_a: 19.times{c<<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.times{ary << 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
answered 15 hours ago
CG One HandedCG One Handed
615
615
add a comment |
add a comment |
$begingroup$
Jelly, 10 bytes
20RṖ1;ÄƲ⁸¡
Try it online!
0-indexed.
$endgroup$
add a comment |
$begingroup$
Jelly, 10 bytes
20RṖ1;ÄƲ⁸¡
Try it online!
0-indexed.
$endgroup$
add a comment |
$begingroup$
Jelly, 10 bytes
20RṖ1;ÄƲ⁸¡
Try it online!
0-indexed.
$endgroup$
Jelly, 10 bytes
20RṖ1;ÄƲ⁸¡
Try it online!
0-indexed.
answered 14 hours ago
Erik the OutgolferErik the Outgolfer
32.1k429103
32.1k429103
add a comment |
add a comment |
$begingroup$
R, 59 bytes
Reduce(function(x,y)diffinv(x,,,y),!!1:scan(),!!1:19)[1:20]
Try it online!
Repeated diffinv with xi=1, and subset out the first 20 terms.
$endgroup$
add a comment |
$begingroup$
R, 59 bytes
Reduce(function(x,y)diffinv(x,,,y),!!1:scan(),!!1:19)[1:20]
Try it online!
Repeated diffinv with xi=1, and subset out the first 20 terms.
$endgroup$
add a comment |
$begingroup$
R, 59 bytes
Reduce(function(x,y)diffinv(x,,,y),!!1:scan(),!!1:19)[1:20]
Try it online!
Repeated diffinv with xi=1, and subset out the first 20 terms.
$endgroup$
R, 59 bytes
Reduce(function(x,y)diffinv(x,,,y),!!1:scan(),!!1:19)[1:20]
Try it online!
Repeated diffinv with xi=1, and subset out the first 20 terms.
answered 11 hours ago
GiuseppeGiuseppe
16.8k31052
16.8k31052
add a comment |
add a comment |
$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.
_+(?<=((_)|,)+)
$#2*
Calculate the cumulative sum.
_+
$.&
Convert to decimal.
Try it online!
$endgroup$
add a comment |
$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.
_+(?<=((_)|,)+)
$#2*
Calculate the cumulative sum.
_+
$.&
Convert to decimal.
Try it online!
$endgroup$
add a comment |
$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.
_+(?<=((_)|,)+)
$#2*
Calculate the cumulative sum.
_+
$.&
Convert to decimal.
Try it online!
$endgroup$
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.
_+(?<=((_)|,)+)
$#2*
Calculate the cumulative sum.
_+
$.&
Convert to decimal.
Try it online!
answered 8 hours ago
NeilNeil
81.3k745178
81.3k745178
add a comment |
add a comment |
$begingroup$
C# (Visual C# Interactive Compiler), 120 bytes
n=>{for(long i=-1,h=0,m=0;++i<20;Print(i<1?1:h))for(m=h=0;m<=n;)h+=f(i)/(f(m)*f(i-m++));long f(long a)=>a>1?a*f(a-1):1;}
Try it online!
Based off of alephalpha's formula.
$endgroup$
add a comment |
$begingroup$
C# (Visual C# Interactive Compiler), 120 bytes
n=>{for(long i=-1,h=0,m=0;++i<20;Print(i<1?1:h))for(m=h=0;m<=n;)h+=f(i)/(f(m)*f(i-m++));long f(long a)=>a>1?a*f(a-1):1;}
Try it online!
Based off of alephalpha's formula.
$endgroup$
add a comment |
$begingroup$
C# (Visual C# Interactive Compiler), 120 bytes
n=>{for(long i=-1,h=0,m=0;++i<20;Print(i<1?1:h))for(m=h=0;m<=n;)h+=f(i)/(f(m)*f(i-m++));long f(long a)=>a>1?a*f(a-1):1;}
Try it online!
Based off of alephalpha's formula.
$endgroup$
C# (Visual C# Interactive Compiler), 120 bytes
n=>{for(long i=-1,h=0,m=0;++i<20;Print(i<1?1:h))for(m=h=0;m<=n;)h+=f(i)/(f(m)*f(i-m++));long f(long a)=>a>1?a*f(a-1):1;}
Try it online!
Based off of alephalpha's formula.
answered 5 hours ago
Embodiment of IgnoranceEmbodiment of Ignorance
1,438123
1,438123
add a comment |
add a comment |
$begingroup$
K (oK), 18 bytes
{x(+1,19#)/1+!20}
Try it online!
0-indexed
$endgroup$
add a comment |
$begingroup$
K (oK), 18 bytes
{x(+1,19#)/1+!20}
Try it online!
0-indexed
$endgroup$
add a comment |
$begingroup$
K (oK), 18 bytes
{x(+1,19#)/1+!20}
Try it online!
0-indexed
$endgroup$
K (oK), 18 bytes
{x(+1,19#)/1+!20}
Try it online!
0-indexed
answered 19 mins ago
Galen IvanovGalen Ivanov
6,91711034
6,91711034
add a comment |
add a comment |
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).
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
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
2
$begingroup$
I assume you mean 20 terms, not digits?
$endgroup$
– Quintec
16 hours ago
$begingroup$
What do you mean by "tier"?
$endgroup$
– DavidC
15 hours ago
4
$begingroup$
By the way, the tier three metasequence is OEIS A000125
$endgroup$
– Embodiment of Ignorance
15 hours ago
5
$begingroup$
You may want to clarify if solutions have to work for input 20 or greater.
$endgroup$
– FryAmTheEggman
15 hours ago
4
$begingroup$
Can we choose to 0-index (so, output tier 1 for input
0, tier 2 for input1, etc.)?$endgroup$
– Lynn
15 hours ago