Étant donné une entrée d'un entier n et une liste d'entiers positifs m 1 , m 2 , ..., sortir une liste d'entiers m 1 ' , m 2 ' , ... où m x ' est défini comme la moyenne de m xn à m x + n .
Lors du calcul de ces moyennes, ignorez les indices qui sont hors limites (et ajustez ce que vous divisez la somme en conséquence). n sera toujours ≥ 1 mais jamais la moitié de la longueur de m (arrondie vers le bas) ou plus. Cela signifie que la longueur minimale de m est 4. Les éléments de m seront des entiers positifs, mais la sortie doit être précise à au moins 3 décimales.
Les éléments d'entrée / sortie qui sont des listes peuvent être des chaînes séparées par des espaces / virgules ou des tableaux / listes / etc. Pour la saisie, si votre solution est une fonction, vous pouvez en outre prendre un premier argument de n et des arguments supplémentaires comme m x (cela s'applique également aux arguments de ligne de commande).
Voici une représentation visuelle de n=1
:
1 4 5 7 10
__/ | | |
L avg(1,4) = 2.5
| | |
\___/ | |
L avg(1,4,5) = 3.333
| |
\___/ |
L avg(4,5,7) = 5.333
|
\___/
L avg(5,7,10) = 7.333
\___
L avg(7,10) = 8.5
Final output: 2.5 3.333 5.333 7.333 8.5
Puisqu'il s'agit de code-golf , le code le plus court en octets l'emporte.
Cas de test ( ceux-ci ont été effectués manuellement; veuillez me signaler toute erreur ):
In Out
----------------------------------------------------------------------
n=1, m=12 6 3 9 9 7 6 6
n=1, m=1 4 5 7 10 2.5 3.333 5.333 7.333 8.5
n=1, m=1 3 3 7 4 2 4 2 2 2.333 4.333 4.666 4.333 3.333 2.666 3
n=2, m=1 3 5 9 10 14 15 16 23 3 4.5 5.6 8.2 10.6 12.8 15.6 17 18
n=3, m=1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
n=3, m=1 2 3 4 5 6 7 8 2.5 3 3.5 4 5 5.5 6 6.5
avg(0,1,2)
n'est pas le même que avg(1,2)
. Pour les "cas marginaux" (ha), vous ne devez pas faire la moyenne d'autant d'éléments de la liste d'entrée.
m_i
sont positifs.