Spiegazione:
L'anno scorso, durante le lezioni di matematica, a volte facevamo queste domande estremamente semplici, sebbene ugualmente fastidiose, chiamate puzzle di diamanti. Queste erano fondamentalmente domande su dove ci sarebbe stata data una somma, e poi a un prodotto veniva chiesto di trovare i due numeri che una volta moltiplicati danno il prodotto e quando aggiunti danno la somma. Ciò mi ha fatto impazzire, poiché l'unico modo in cui sapevo come risolverli (in Algebra I) era semplicemente elencare i fattori del prodotto, quindi vedere quali aggiunti per fare la somma. (Dal momento che non sapevo come usare Quadratics in quel momento) Per non parlare del fatto che non stavano esattamente sfidando la matematica. Tuttavia, mi è appena venuto in mente che avrei dovuto scrivere un programma. Questa è la tua sfida oggi! Scrivi un programma in grado di risolvere un rompicapo con diamanti.
Esempi
Mi scuso per l'immagine sfocata, è la migliore che ho trovato. Inoltre, ignora i numeri in bolle. La parte superiore del diamante è il prodotto, la parte inferiore è la somma, la destra e la sinistra sono i due numeri. Le risposte sono le seguenti: (Questi sono anche i tuoi casi di test)
- 9, -7
- -2, -1
- 5, 8
- -9, -9
Regole:
- Non è possibile utilizzare funzioni o classi predefinite che lo realizzano.
- Il codice deve essere un programma completo o una funzione che restituisce o stampa le risposte una volta trovate
- L'input è la somma e il prodotto, che vengono immessi come parametri di funzione o input dell'utente
specifiche tecniche:
- Supponiamo che i due numeri, la somma e il prodotto saranno sempre numeri interi.
- Le due risposte saranno entrambe comprese tra -127 e 127.
- Il tuo input sarà di due numeri interi (somma e prodotto).
Ricorda che si tratta di code-golf, quindi vince il conteggio dei byte più breve. Assegna un titolo alla risposta con il nome lingua standard ##, il conteggio byte
Modifica: Inoltre, Doorknob ha sottolineato che questo è essenzialmente "un fattore quadratico di forma x ^ 2 + bx + c". Questo è un altro modo di pensare e affrontare questa sfida. : D
(x + n)(x + m)ti dà x^2 + (n+m)x + (n*m), quindi il factoring detto quadratico è sostanzialmente equivalente a questa domanda (se la sto capendo correttamente).



x^2 + bx + c", giusto?