Mi è stato chiesto in un'intervista e non sono sicuro di quale sia la risposta o di come affrontare il problema.
Find a pair of numbers that sum up to zero (or any other number), then find three (and then four) numbers that sum up to zero.
Usa la seguente uguaglianza 1 + 2 + 3 + ... + n = n (n + 1) / 2.
1 + (- 1) = 0
1 + 2 + (- 3) = 0
1 + 2 + 3 + (- 6) = 0
...
1 + 2 + 3 + ... + n + (- n (n + 1) / 2) = 0
perché non prendi semplicemente un numero e il suo elemento inverso in + quindi per esempio 1 e -1?
se hai bisogno di trovare 4 6 8 e così via puoi semplicemente usare 1, -1, 2, -2, 3, -3 e così via.
per 3 numeri 3, -2, -1
Questo è ciò che ho potuto analizzare in un minuto o due per creare uno schema:
Domanda incredibilmente stupida ....... poiché non ha specificato i numeri UNICI la risposta è 0!
0 + 0 = 0
0 + 0 + 0 = 0
0 + 0 + 0 + 0 = 0
Poiché non hai detto che dovevano essere numeri interi (o numeri diversi)
Numero - Numero
Numero - Numero / 2 - Numero / 2
Numero - Numero / 3 - Numero / 3 - Numero / 3
Etc.
Facile schema per lanciarti in loop - sebbene @gpmattoo abbia una soluzione molto più elegante. (La somma del primo numero X meno quella somma come l'ultimo numero).