2016-12-17 2 views
1

J'ai un certain nombre X (0-999) et six nombres aléatoires (< 50).Besoin de programme pour trouver automatiquement le numéro X en utilisant des opérations mathématiques de base et 6 nombres aléatoires

J'ai besoin du programme pour trouver automatiquement le nombre X (ou le nombre le plus proche de X s'il n'est pas possible de trouver X) en utilisant des opérations mathématiques de base avec des parenthèses et ces 6 nombres aléatoires.

Quelqu'un peut-il me recommander un moyen d'aborder ce problème? J'ai lu quelque part que je devrais utiliser postfix-notations et algorithmes génétiques, mais je ne connais pas grand-chose de l'un ou l'autre.

Répondre

0

Postfix notation évite les complications qui viennent avec l'aide de supports. Il vous permet de modéliser l'équation

  1. chaque permutation des six nombres (6! = 720 permutations en tout), suivi par
  2. toutes les combinaisons de cinq opérateurs, où chaque opérateur est l'un des quatre choix (4^5 = 1024 combinaisons dans all)

Le nombre total d'équations possibles est 720*1024 = 737280. Donc, je ne vois aucune raison d'utiliser un algorithme génétique, vous pouvez simplement essayer toutes les possibilités. Après avoir trouvé la meilleure solution de postfix, vous devrez convertir en infixe avec les parenthèses appropriées.

-1

Si vous posez des questions sur une équation aléatoire, vous devez résoudre votre programme pour le résoudre comme vous le feriez. Exemple: (10x + 5x + 8) * 8 = (x + 2)^2 + 3 étape 1 mettre en place les parenthèses: 80x + 40x + 64 = x² + 4x + 4 + 3 étape 2 déplacer tout vers la gauche : 80x + 40x + 64 - x² - 4x + 4 3 étape 3 Simplify: -X² + 116x + 71 étape 4 utilisent la formule