Inspiré par cette question de nos amis rivaux à Code Review.
Définitions
Un super tableau est un tableau dans lequel chaque nouvel élément du tableau est plus grand que la somme de tous les éléments précédents. {2, 3, 6, 13}
est un super tableau parce que
3 > 2
6 > 3 + 2 (5)
13 > 6 + 3 + 2 (11)
{2, 3, 5, 11}
n'est pas un super tableau, car
3 > 2
5 == 3 + 2
11 > 5 + 3 + 2
Un tableau duper est un tableau dans lequel chaque nouvel élément du tableau est plus grand que le produit de tous les éléments précédents. {2, 3, 7, 43, 1856}
est un super tableau, mais c’est aussi un tableau duper puisque
3 > 2
7 > 3 * 2 (6)
43 > 7 * 3 * 2 (42)
1856 > 43 * 7 * 3 * 2 (1806)
Le défi
Ecrivez une fonction ou un programme qui prend un tableau en entrée dans le format de liste natif de votre langue et qui détermine l’extension du tableau. Vous pouvez également éventuellement prendre une entrée de longueur de tableau (pour des langages tels que C / C ++). En outre, vous pouvez supposer que tous les nombres de la liste seront des entiers supérieurs à 0. Si c'est un super tableau, vous devez imprimer It's a super array!
S'il s'agit d'un tableau super duper , vous devez imprimer It's a super duper array!
Il est également possible qu'un tableau soit duper- non-super. Par exemple, {1, 2, 3}
dans ce cas, vous devez imprimer It's a duper array!
Si le tableau n'est ni super ni duper, vous pouvez imprimer une valeur falsy.
Comme d'habitude, c'est du code golf, donc les échappatoires standard s'appliquent, et la réponse la plus courte en octets l'emporte.
{1, 2, 3}
tableau?
2 * 1
à égaler 3
ma tête.
super[space][space]array
c'est permis.