Étant donné une liste d'entiers séparés par des espaces, votre tâche consiste à trouver le prochain entier dans la séquence. Chaque nombre entier dans la séquence est le résultat de l' application d' une opération mathématique unique ( +
, -
, *
ou /
) à l'entier précédent, et chaque séquence est composée d'un nombre variable de ces opérations (mais pas plus de 10). Aucune séquence ne dépassera la moitié de la longueur de la séquence d'entiers, vous devrez donc faire apparaître chaque séquence d'opérations au moins deux fois pour confirmation.
L'entrée se fera via stdin (ou prompt
pour les solutions JavaScript).
Voici quelques exemples explicatifs.
Contribution:
1 3 5 7 9 11
Production:
13
Assez facile, celui-ci. Toutes les valeurs sont la valeur précédente +2
.
Contribution:
1 3 2 4 3 5 4 6 5 7 6
Sortie:
8
Deux étapes dans cette séquence, +2
alors -1
.
Contribution:
2 6 7 3 9 10 6 18 19 15 45 46
Production:
42
Trois étapes - *3
, +1
, -4
.
Cas de test
Voici quelques cas de test supplémentaires:
Contribution:
1024 512 256 128 64 32 16
Production:
8
Contribution:
1 3 9 8 24 72 71 213 639
Production:
638
Contribution:
1 2 3 4 5 2 3 4 5 6 3 4 5 6 7
Production:
4
Contribution:
1 2 4 1 3 9 5 8 32 27 28 56 53 55 165 161 164 656 651 652 1304
Production:
1301
J'ai une solution Scala non golfée (42 lignes) que je posterai dans quelques jours.
C'est le golf de code - la réponse la plus courte l'emporte.