Weź dwie dodatnie liczby całkowite N
i M
utwórz połączone sumy sumaryczne [N]
z M
iteracjami. Wyprowadza wynik ostatniej iteracji.
Definicja skonsolidowanej sumy skumulowanej:
- Zacznij od liczby
N
i zdefiniuj sekwencjęX = [N]
- Dołącz do
X
łącznych kwotX
- Powtórz krok 2
M
razy.
Skumulowana suma wektora, X = [x1, x2, x3, x4]
wynosi: [x1, x1+x2, x1+x2+x3, x1+x2+x3+x4]
.
Przykład z N = 1
i M = 4
:
P
= funkcja sumy skumulowanej.
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]
Zauważ, że pierwszy X = [1]
nie jest liczony jako iteracja. Możesz zdecydować się M = 5
na powyższy przykład (licząc w ten sposóbX = [1]
jako jedną iterację).
To jest OEIS A107946
Przypadki testowe:
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
To jest golf golfowy , więc wygrywa najkrótszy kod. Opcjonalne formaty wejściowe i wyjściowe.
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
źródło
źródło
N
naprawdę coś jeszcze dodaje do problemu? To tylko stały czynnik, przez który mnożymy wynik.Odpowiedzi:
Haskell , 35 bajtów
Wypróbuj online!
Dzięki H.PWiz za -18 bajtów
źródło
tail.scanl(+)0
może byćscanl1(+)
*1
wersjachscan
ifold
.iterate
05AB1E , 7 bajtów
Wypróbuj online!
Wyjaśnienie
źródło
Łuska ,
987 bajtówDzięki H.PWiz za zapisanie 1 bajtu.
Wypróbuj online!
Wykorzystuje 1
M
.Wyjaśnienie
źródło
cumsum
nie zwracać wiodącego0
(co w tym przypadku pozwoliłoby zaoszczędzić 2 bajty).ot∫
byćG+
?F
oznacza redukcjęG
skumulowaną redukcjęMATL , 6 bajtów
Dane wejściowe są
M
zatemN
.Wypróbuj online! Lub sprawdź wszystkie przypadki testowe .
Wyjaśnienie
źródło
Mathematica, 34 bajty
Wypróbuj online!
źródło
Python 2 ,
83787571656360 bajtówWypróbuj online!
Zaoszczędzono
68 bajtów dzięki RodowiZaoszczędzono 3 bajty dzięki Erikowi
źródło
[:]
,r
jesttuple
.Dyalog APL , 12 bajtów
Bierze N po prawej stronie i M po lewej. Spróbuj APL tutaj!
Wyjaśnienie:
źródło
Java (OpenJDK 8) ,
194181175163134110 bajtówWypróbuj online!
źródło
(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 bajtów
Wypróbuj online!
Funkcja dyadyczna, z
N
prawej iM
lewej strony.źródło
R , 46 bajtów
Wypróbuj online!
źródło
Pyth , 12 bajtów
Wypróbuj tutaj.
źródło
JavaScript (ES6),
5554 bajtówPobiera dane wejściowe w składni curry
(m)(n)
.Przypadki testowe
Pokaż fragment kodu
źródło
Galaretka , 5 bajtów
Wypróbuj online!
Sugerowana wersja Dennisa (zwraca
n
zamiast[n]
tablic singleton).źródło
W
i⁹
można je usunąć.1
i0
obawiam się, że wrócę1
zamiast ich[1]
usunięcia, nie mogę użyć pełnego programu, ponieważ jego dane wyjściowe byłyby nadal takie.1
jest jak Jelly wyświetla tablicę[1]
. Nie widzę z tym problemu.Clojure, 67 bajtów
źródło