Eine Additionskette ist eine Folge von Ganzzahlen, die mit 1 beginnen, wobei jede andere Ganzzahl als die anfängliche 1 eine Summe von zwei vorherigen Ganzzahlen ist.
Hier ist zum Beispiel eine Additionskette:
[1, 2, 3, 4, 7, 8, 16, 32, 39, 71]
Hier sind die Summen, die es zu einer Additionskette machen:
1 + 1 = 2
1 + 2 = 3
1 + 3 = 4
3 + 4 = 7
1 + 7 = 8
8 + 8 = 16
16 + 16 = 32
7 + 32 = 39
32 + 39 = 71
In dieser Herausforderung erhalten Sie eine positive Ganzzahl n
und müssen eine der kürzesten Additionsketten ausgeben, die auf endet n
.
Beispiele - Beachten Sie, dass es viele mögliche Ausgaben gibt. Alles, was Sie finden müssen, ist eine ebenso kurze Additionskette:
1: [1]
2: [1, 2]
3: [1, 2, 3]
4: [1, 2, 4]
5: [1, 2, 3, 5]
6: [1, 2, 3, 6]
7: [1, 2, 3, 4, 7]
11: [1, 2, 3, 4, 7, 11]
15: [1, 2, 3, 5, 10, 15]
19: [1, 2, 3, 4, 8, 11, 19]
29: [1, 2, 3, 4, 7, 11, 18, 29]
47: [1, 2, 3, 4, 7, 10, 20, 27, 47]
71: [1, 2, 3, 4, 7, 8, 16, 32, 39, 71]
Standard-E / A-Regeln usw. Verbot von Standard-Regelungslücken. Codegolf: Wenige Bytes gewinnen.