Bonjour les amis,
Lors de la dernière énigme que j'ai posée (logique - quelle est la bonne réponse) j'ai utilisé une fonction dont l'effet était à peu près de mélanger les nombres de 1 à 6, afin d'éviter qu'on ne "bruteforce" le champ réponse en testant les 6 réponses possibles.
Bref, d'où l'idée de de ce jeu concours. Désolé, l'énoncé est long, mais l'idée est simple.
But du jeu
Vous devez créer une fonction mathématique sur le mode "multipliez par deux, ajoutez 1, etc." qui effectue une permutation des entiers de 1 à 6.
Pour rappel, une permutation est une fonction qui mélange :
P(1)=4 P(2)=2 P(3)=1 P(4)=3 P(5)=6 P(6)=5 est une permutation.
Cette permutation ne doit pas être triviale, c'est à dire :
- pas une simple somme modulo 6. (1->5, 2->6, 3->1 ...)
- pas un miroir ( 1->6 2->5 etc.)
- avec au plus une valeur égale au nombre d'origine
Les combinaisons somme + miroir sont autorisées
En un mot, le but de ce jeu est de trouver un permutation aussi courte que possible avec des opérations relativement simples (a priori compréhensibles avec un niveau collège).
Ce que vous pouvez utiliser :
- les 4 opérations de base (la division se fait sur les réels et non la division entière)
- les arrondis par excès, défaut, au plus proche
- les nombres entiers
- les nombres suivants e, pi, et les racines carrées
- les fonctions sin, cos, tan, exp, et toutes les fonctions logarithme
* Edit : pour les fonctions trigonometriques les arguments en radians ou en degrés. SVP indiquez "en radians" ou "en degrés". Bien sûr, on ne mélange pas des degrés et des radians dans la meme fonction.
- l'extraction d'une décimale définie après ou avant la virgule.
- faire référence au résultat de toute étape antérieure
Ce que vous ne pouvez pas utiliser :
- les nombres non entiers
- les puissances
- les fonctions modulo, le reste et le quotient de la division euclidienne
- les conditions (si <condition> alors faites le calcul a, sinon faites le calcul b)
- les fonctions et opérations non citées (ex : cosinus hyperbolique)
Vous pouvez reproduire une fonction interdite avec les opérations autorisées.
Les opérations sont unitaires. Par exemple, calculez x² - 1 compte pour 2 opérations : "calculez le carré ; soustrayez 1 au résultat"
Notation algébrique simplifiée
On notera n le nombre initial, p le résultat de la dernière opération (=précédente) puis on notera q l'avant-dernier résultat, r l'antépenultième, et ainsi de suite.
p*p
p-1
code pour x -> x² - 1 Notez que le p de la première ligne représente le nombre initial alors que le p de la seconde ligne représente le résultat de la première ligne.
Si le premier membre de l'opération est un p, on peut l'omettre pour faire plus joli et concis
*p
-1
code également pour x -> x² - 1
Edit : des formes comme n-p ou p-n sont tout à fait licites et comptent pour une opération
Vous n'êtes pas obligé d'avoir recours à cette notation, j'accepte aussi une réponse rédigée (ajoutez 2, multipliez par 3, etc)
Score
Votre fonction recevra une note de style (sur 10 points) :
13 - nombre d'opérations - fautes de style
Style :
- l'extraction d'une décimale au delà des millièmes est pénalisée par ( N / 2 - 1 ) arrondi par défaut.
- faire référence aux valeurs intermédiaires autres que la dernière et la valeur initiale est pénalisé : q -> -1 point, r -> -2 points, s -> -3 etc.
- Une seule dérogation aux règles de l'énoncé est autorisée mais sera pénalisée de 2 points.
* deux valeurs identiques (1-> 5 2 -> 1 3->5 ... )
* une valeur hors de l'intervalle mais sans sortir de l'intervalle [0, 7]
Score à battre :
J'obtiens pour ma part 7 (avant j'avais 4) points, qui dit mieux ?