Quindi l'attività è semplice, dato l'array di numeri e il risultato, è necessario trovare quali operazioni è necessario utilizzare sui numeri dell'array per ottenere il risultato richiesto.
Semplifichiamo l'avvio e consentiamo solo operazioni di base come: addizione, sottrazione, moltiplicazione e divisione.
Esempio:
Input : [5,5,5,5,5] 100
Output : 5*5*5-5*5
Per dare un vantaggio a linguaggi come Java, la richiesta è quella di implementare la funzione, non l'intero programma, e il risultato può essere restituito tramite parametro o stampare sulla console.
Il codice viene assegnato in base alla quantità di byte e, poiché si tratta della sfida del codice golf, vince il punteggio più basso.
Un altro requisito è È possibile ottenere ulteriori -10 punti se per l'array sono presenti solo numeri, supportare soluzioni in cui è possibile costruire numeri a partire dalle cifre seguenti. ie
Input : [1,2,3,4,5] 0
Output : 12-3-4-5
Si noti che, a condizione che gli output vengano proposti, alcuni casi potrebbero avere più di una soluzione. Sta a te fornire una o più soluzioni per un determinato compito.
EDIT: il risultato deve essere valido dal punto di vista matematico, quindi la divisione è divisione razionale, non intera, e la precedenza dell'operazione è la stessa della matematica classica (prima moltiplicazione e divisione poi addizione e sottrazione).
*
e/
hanno la precedenza sugli+
e-
? I tuoi due esempi si contraddicono a vicenda.