Inspiriert von dieser Frage unserer Mitbewerber bei Code Review.
Definitionen
Ein Super-Array ist ein Array, bei dem jedes neue Element im Array größer ist als die Summe aller vorherigen Elemente. {2, 3, 6, 13}
ist ein super Array, weil
3 > 2
6 > 3 + 2 (5)
13 > 6 + 3 + 2 (11)
{2, 3, 5, 11}
ist kein super Array, weil
3 > 2
5 == 3 + 2
11 > 5 + 3 + 2
Ein Duper-Array ist ein Array, bei dem jedes neue Element im Array größer ist als das Produkt aller vorherigen Elemente. {2, 3, 7, 43, 1856}
ist ein Super-Array, aber es ist auch ein Duper- Array da
3 > 2
7 > 3 * 2 (6)
43 > 7 * 3 * 2 (42)
1856 > 43 * 7 * 3 * 2 (1806)
Die Herausforderung
Schreiben Sie eine Funktion oder ein Programm, das ein Array als Eingabe im systemeigenen Listenformat Ihrer Sprache verwendet und festlegt, wie gut das Array ist. Optional können Sie auch eine Eingabe für die Array-Länge vornehmen (für Sprachen wie C / C ++). Sie können auch davon ausgehen, dass alle Zahlen in der Liste ganze Zahlen größer als 0 sind. Wenn es sich um ein Super- Array handelt, müssen Sie drucken. It's a super array!
Wenn es sich um ein Super- Duper- Array handelt, müssen It's a super duper array!
Sie drucken. nicht super. Beispiel: {1, 2, 3}
In diesem Fall sollten Sie drucken. It's a duper array!
Wenn das Array weder super noch duper ist, können Sie einen falschen Wert drucken.
Wie üblich ist dies Codegolf, daher gelten Standardlücken, und die kürzeste Antwort in Bytes gewinnt.
{1, 2, 3}
Array?
2 * 1
gleich 3
in meinem Kopf sein.
super[space][space]array
es erlaubt ist.