Nehmen Sie zwei positive ganze Zahlen N
und M
erstellen Sie die verketteten kumulativen Summen von [N]
mit M
Iterationen. Das Ergebnis der letzten Iteration ausgeben.
Definition der verketteten kumulativen Summe:
- Beginnen Sie mit einer Zahl
N
und definieren Sie eine SequenzX = [N]
- An
X
die kumulierten Summen von anhängenX
- Wiederholen Sie Schritt 2
M
mal.
Die kumulative Summe eines Vektors X = [x1, x2, x3, x4]
ist: [x1, x1+x2, x1+x2+x3, x1+x2+x3+x4]
.
Beispiel mit N = 1
und M = 4
:
P
= die kumulative Summenfunktion.
M = 0: [1]
M = 1: [1, 1] - X = [1, P(1)] = [[1], [1]]
M = 2: [1, 1, 1, 2] - X = [X, P(X)] = [[1, 1], [1, 2]]
M = 3: [1, 1, 1, 2, 1, 2, 3, 5] - X = [X, P(X)] = [[1, 1, 1, 2], [1, 2, 3, 5]]
M = 4: [1, 1, 1, 2, 1, 2, 3, 5, 1, 2, 3, 5, 6, 8, 11, 16]
Beachten Sie, dass die erste X = [1]
nicht als Iteration gezählt wird. Sie können sich M = 5
für das obige Beispiel entscheiden (also X = [1]
als eine Iteration zählen).
Dies ist OEIS A107946
Testfälle:
N = 5, M = 1
5, 5
N = 2, M = 3
2, 2, 2, 4, 2, 4, 6, 10
N = 4, M = 6
4, 4, 4, 8, 4, 8, 12, 20, 4, 8, 12, 20, 24, 32, 44, 64, 4, 8, 12, 20, 24, 32, 44, 64, 68, 76, 88, 108, 132, 164, 208, 272, 4, 8, 12, 20, 24, 32, 44, 64, 68, 76, 88, 108, 132, 164, 208, 272, 276, 284, 296, 316, 340, 372, 416, 480, 548, 624, 712, 820, 952, 1116, 1324, 1596
Das ist Code-Golf , also gewinnt der kürzeste Code. Optionale Eingabe- und Ausgabeformate.
code-golf
number
sequence
code-golf
number
sequence
code-golf
binary-matrix
code-golf
math
tips
javascript
algorithm
code-golf
string
code-golf
number
sequence
code-golf
math
arithmetic
parsing
code-golf
number
sequence
primes
code-golf
string
ascii-art
geometry
integer
code-golf
geometry
code-golf
number
array-manipulation
code-golf
math
geometry
code-golf
number
sequence
arithmetic
integer
code-golf
string
kolmogorov-complexity
code-golf
number
code-golf
number
chess
code-golf
sequence
decision-problem
subsequence
code-golf
math
number
primes
code-golf
primes
permutations
code-golf
integer
probability-theory
statistics
code-golf
string
code-golf
sequence
decision-problem
parsing
board-game
code-golf
binary
graph-theory
code-golf
board-game
classification
tic-tac-toe
code-golf
ascii-art
polyglot
code-golf
date
code-golf
geometry
CG.
quelle
quelle
N
wirklich etwas zum Problem bei? Es ist nur ein konstanter Faktor, mit dem Sie das Ergebnis multiplizieren.Antworten:
Haskell , 35 Bytes
Probieren Sie es online!
Vielen Dank an H.PWiz für -18 Bytes
quelle
tail.scanl(+)0
kann seinscanl1(+)
*1
Versionen vonscan
undfold
.iterate
05AB1E , 7 Bytes
Probieren Sie es online!
Erläuterung
quelle
Schale ,
987 BytesVielen Dank an H.PWiz für das Speichern von 1 Byte.
Probieren Sie es online!
Verwendet 1-basiert
M
.Erläuterung
quelle
cumsum
keine führend zurückzukehren0
(etwas , das 2 Bytes in diesem Fall sparen würde).ot∫
seinG+
?F
ist reduzierenG
ist kumulativ reduzierenMATL , 6 Bytes
Eingänge sind
M
dannN
.Probieren Sie es online! Oder überprüfen Sie alle Testfälle .
Erläuterung
quelle
Mathematica, 34 Bytes
Probieren Sie es online!
quelle
Python 2 ,
83787571656360 BytesProbieren Sie es online!
Gespeichert
68 Bytes dank RodSaved 3 Bytes dank Erik
quelle
[:]
,r
ist atuple
.Dyalog APL , 12 Bytes
Nimmt N auf der rechten Seite und M auf der linken Seite. TryAPL hier!
Erläuterung:
quelle
Java (OpenJDK 8) ,
194181175163134110 BytesProbieren Sie es online!
quelle
(n,m)->{int a[]=new int[1<<m],c=1,i;for(a[0]=n;m-->0;)for(n=0;2*n<c;c++)for(i=++n;i-->0;a[c]+=a[i]);return a;}
Dyalog APL , 19 Bytes
Probieren Sie es online!
Dyadische Funktion mit
N
rechts undM
links.quelle
R , 46 Bytes
Probieren Sie es online!
quelle
Pyth , 12 Bytes
Probieren Sie es hier aus.
quelle
JavaScript (ES6),
5554 ByteÜbernimmt Eingaben in der Currying-Syntax
(m)(n)
.Testfälle
Code-Snippet anzeigen
quelle
Gelee , 5 Bytes
Probieren Sie es online!
Vorgeschlagene Version von Dennis (wird
n
anstelle von[n]
Singleton-Arrays zurückgegeben).quelle
W
und⁹
kann entfernt werden.1
und0
Angst habe, dass ich zurückkomme,1
anstatt[1]
diese zu entfernen, und ich kann stattdessen kein vollständiges Programm verwenden, da die Ausgabe immer noch so wäre.1
zeigt Jelly das Array an[1]
. Ich sehe kein Problem damit.Clojure, 67 Bytes
quelle