Explication:
L'année dernière, en cours de mathématiques, sur les devoirs, nous obtenions parfois ces questions extrêmement simples, bien que tout aussi ennuyeuses, appelées puzzles de diamants. C'étaient essentiellement des questions où l'on nous donnerait une somme, et un produit devait ensuite trouver les deux nombres qui, multipliés, donnent le produit et, lorsqu'ils sont ajoutés, donnent la somme. Cela m'a rendu fou, car la seule façon dont je savais comment les résoudre (dans Algèbre I) était de simplement lister les facteurs du produit puis de voir ceux qui étaient ajoutés pour faire la somme. (Comme je ne savais pas comment utiliser Quadratics à l'époque) Sans parler, ils n'étaient pas vraiment un défi mathématique. Cependant, il m'est venu à l'esprit que j'aurais dû écrire un programme. Voilà donc votre défi aujourd'hui! Écrivez un programme qui peut résoudre un puzzle en diamant.
Exemples
Excuses pour l'image floue, c'est la meilleure que j'ai pu trouver. En outre, ignorez les nombres dans les bulles.Le haut du diamant est le produit, le bas est la somme, la droite et la gauche sont les deux nombres. Les réponses sont les suivantes: (Ce sont aussi vos cas de test)
- 9, -7
- -2, -1
- 5, 8
- -9, -9
Règles:
- Vous ne pouvez pas utiliser de fonctions ou de classes prédéfinies qui accomplissent cela pour vous.
- Votre code doit être un programme complet ou une fonction qui retourne ou imprime les réponses une fois qu'il les trouve
- L'entrée est la somme et le produit, qui sont entrés en tant que paramètres de fonction ou entrée utilisateur
Caractéristiques:
- Supposons que les deux nombres, la somme et le produit seront toujours un entier.
- Les deux réponses seront toutes deux comprises entre -127 et 127.
- Votre entrée sera composée de deux entiers (Sum et Product).
N'oubliez pas qu'il s'agit de golf de code, donc le nombre d'octets le plus court l'emporte. Veuillez titrer votre réponse avec le ## Nom de la langue standard, Nombre d'octets
Edit: Aussi, Doorknob a souligné qu'il s'agit essentiellement de "factoriser un quadratique de forme x ^ 2 + bx + c". C'est une autre façon de penser et d'aborder ce défi. :RÉ
(x + n)(x + m)vous donne x^2 + (n+m)x + (n*m), donc l'affacturage dit quadratique est fondamentalement équivalent à cette question (si je comprends bien).



x^2 + bx + c», n'est-ce pas?