/ / C # pour ceux qui sont bons en maths - c #, java, vb.net

C # pour ceux qui sont bons en maths - c #, java, vb.net

J'ai un numéro entre 10 et 30, je doisPrésentez ce nombre dans 4 opérations d’addition ou de soustraction, mais les deux doivent être présents au moins une fois. Nous devons donc toujours utiliser l’addition et la soustraction au moins une fois.

Voici un exemple:

Le nombre est 21, je dois générer: 5 + 6, 8-5, 9-4, 1 + 1 (11 + 3 + 5 + 2) = 21 (ou toute autre combinaison égale à 21)

J'ai besoin de générer 4 opérations pour tout nombre compris entre 10 et 30

Quelqu'un pourrait-il m'aider?

Si vous avez un échantillon en Java, C # ou VB, cela fonctionne pour moi.

Réponses:

1 pour la réponse № 1

Peut-être que quelque chose comme ceci, le personnaliser pour répondre à vos besoins:

Random rn = new Random();
int a, b, c, d;

int min = 3, max = 10;
int desired = 30;
while
(
(
(a = rn.Next(min, max))
+ (b = rn.Next(min, max))
+ (c = rn.Next(min, max))
+ (d = rn.Next(min, max))
)
!= desired
) { }

int x = rn.Next(-1* (a - 1 ), a - 1);
int y = rn.Next(-1 * (b - 1), b - 1);
int z = rn.Next(-1 * (c - 1), c - 1);
int v = rn.Next(-1 * (d - 1), d - 1);

string result =
(x >= 0 ? (a - x) + "+" + x : (a + -1 * x) + "-" + -1 * x) + " + " +
(y >= 0 ? (b - y) + "+" + y : (b + -1 * y) + "-" + -1 * y) + " + " +
(z >= 0 ? (c - z) + "+" + z : (c + -1 * z) + "-" + -1 * z) + " + " +
(v >= 0 ? (d - v) + "+" + v : (d + -1 * v) + "-" + -1 * v);

1 pour la réponse № 2

Devoirs?

Vous pouvez essayer de scinder cela en deux opérations:

  • écrire le nombre cible sous la forme d'une somme de 4 chiffres
  • écrivez ces nombres en addition ou en soustraction.

Vous connaissez System.Random? Vous pouvez utiliser cela pour générer des nombres, puis essayez si vous pouvez les "ajuster".


1 pour la réponse № 3

J'ai une fois trouvé une solution décente à ce sujet. mais malheureusement oublié. mais ce que j’ai trouvé, c’est le type utilisé en utilisant LINQ mélangé avec un opérateur aléatoire pour obtenir toutes les possibilités en tant que IEnumerable et .First () de faire la magie.