Listes auto-descriptives cycliquement
Une liste d'entiers positifs se décrit de façon cyclique si les conditions suivantes sont réunies.
- n'est pas vide.
- Les premier et dernier éléments de sont différents.
- Si vous divisez en séries d'éléments égaux, l'élément de chaque série est égal à la longueur de la série suivante et l'élément de la dernière série est égal à la longueur de la première série.
Par exemple, considérons . Il n'est pas vide et les premier et dernier éléments sont différents. Lorsque nous le divisons en séries, nous obtenons .
- La première exécution est une exécution de s, et la longueur de l'exécution suivante, , est de .
- La deuxième manche est une course de s, et la longueur de la manche suivante, , est de .
- La troisième manche est une course de s, et la longueur de la manche suivante, , est de .
- Le quatrième cycle est un cycle de s, et la longueur du cycle suivant, , est de .
- Enfin, la dernière série est une série de s et la longueur de la première série, , est de .
Cela signifie que est une liste cycliquement auto-descriptive.
Pour un non-exemple, la liste n'est pas auto-descriptive cycliquement, puisqu'un passage de s est suivi d'un passage de longueur . La liste , , , , , , n'est pas non plus auto-descriptive cycliquement, puisque la dernière série est une série de s, mais la première série a une longueur de .
La tâche
Dans ce défi, votre entrée est un entier . Votre sortie doit être le nombre de listes cycliquement auto-descriptives dont la somme est égale à . Par exemple, devrait donner , car les listes cycliquement auto-descriptives dont la somme est sont , , et . Le nombre d'octets le plus bas gagne et d'autres règles de code-golf standard s'appliquent.
Voici les valeurs de sortie correctes pour les entrées de à :
1 -> 0
2 -> 0
3 -> 0
4 -> 2
5 -> 0
6 -> 2
7 -> 0
8 -> 4
9 -> 0
10 -> 6
11 -> 6
12 -> 12
13 -> 0
14 -> 22
15 -> 10
16 -> 32
17 -> 16
18 -> 56
19 -> 30
20 -> 96
21 -> 56
22 -> 158
23 -> 112
24 -> 282
25 -> 198
26 -> 464
27 -> 364
28 -> 814
29 -> 644
30 -> 1382
31 -> 1192
32 -> 2368
33 -> 2080
34 -> 4078
35 -> 3844
36 -> 7036
37 -> 6694
38 -> 12136
39 -> 12070
40 -> 20940
41 -> 21362
42 -> 36278
43 -> 37892
44 -> 62634
45 -> 67154
46 -> 108678
47 -> 118866
48 -> 188280
49 -> 209784
50 -> 326878
n,1,...,1
, et chaque nombre impair supérieur à 13 peut être obtenu en concaténant 3,2,2,2,1,1
un nombre pair. La preuve que 13 est impossible est laissée au lecteur comme exercice.