Le récapitulatif
Créez un programme qui génère un tableau de longueur aléatoire avec des nombres aléatoires, puis appliquez une série de règles qui modifient le tableau. Une fois les règles appliquées, imprimez la somme du tableau, sauf indication contraire
Configuration de la baie
Le tableau doit avoir une longueur aléatoire comprise entre 5 et 10 inclus, avec des entiers aléatoires compris entre 1 et 20 inclus. Chaque longueur de tableau doit avoir une probabilité égale de se produire et chaque entier doit avoir une probabilité égale d'être sélectionné par élément.
Les 7 règles
Les règles doivent agir comme si elles étaient appliquées dans l'ordre (par exemple: la règle 1 agit avant la règle 2) et ne sont appliquées qu'une seule fois. Pour prouver l'application des règles, le tableau doit être imprimé sur la console après chaque application de règles et une fois avant l'application des règles.
- Si le tableau contient un 7, soustrayez 1 de chaque élément
- Si la règle 1 est appliquée et que le tableau contient maintenant un 0, ajoutez 1 à chaque élément
- Si le tableau contient un 13, excluez le 13 et tous les éléments qui suivent du tableau
- Si le tableau contient un 2, excluez tous les nombres impairs
- Si le tableau contient un 20 et que le troisième élément est pair, retournez 20 comme somme, puis terminez. Si un 20 est présent et que le troisième élément est impair, renvoyez 20 fois la longueur du tableau comme somme puis terminez.
- Si la somme est supérieure à 50, supprimez le dernier élément à plusieurs reprises jusqu'à ce qu'il soit inférieur ou égal à 50
- Si le tableau contient un 16, imprimez la somme en décimal et en hexadécimal.
Exemple
Voici un tableau initial,
[20, 2, 5, 7, 14, 8]
La règle 1 peut être appliquée:
[19, 1, 4, 6, 13, 7]
La règle 3 s'applique ensuite:
[19, 1, 4, 6]
Aucune autre règle n'est nécessaire, le programme renvoie donc 30 comme somme.
Remarques
- Je ne suis pas un golfeur de code expérimenté, bien que je puisse dire que mon dossier personnel est en Python 3 avec 369 octets .
- Les règles ne doivent pas réellement être appliquées dans l'ordre, mais doivent agir comme si elles le faisaient.
[3 3 3 3 4 3]
et [4 4 3 4 4]
, chacun avec une probabilité de 50%, est conforme à ce qui est écrit sous "configuration du tableau". Je peux donc simplement sortir à 19
chaque fois? (Bien sûr, ce que je pense vraiment, c'est que la définition de "aléatoire" doit être clarifiée.)
If the array contains a 20, and the third element is even/odd
, que se passe-t-il si le tableau contient moins de 3 éléments à cette étape?