Ti viene dato un array A di n numeri interi assolutamente positivi, con n ≥ 2 .
Il tuo compito è mappare ogni voce A i a:
- 1 se A j mod A i è dispari per ogni j tale che 1 ≤ j ≤ n e j ≠ i
- 2 se A j mod A i è pari per ogni j tale che 1 ≤ j ≤ n e j ≠ i
- 0 altrimenti (parità mista)
Esempio
Per A = [73, 50, 61] , abbiamo:
- 50 mod 73 = 50 , 61 mod 73 = 61 → misto
- 73 mod 50 = 23 , 61 mod 50 = 11 → tutto dispari
- 73 mod 61 = 12 , 50 mod 61 = 50 → tutti pari
Pertanto, l'output previsto è [0, 1, 2] .
Regole
- Puoi usare tre valori distinti (di qualsiasi tipo) invece di 0 , 1 e 2 purché siano coerenti. Specifica la tua mappatura se non stai usando quella descritta nella sfida.
- In caso di dubbi, lo zero è pari .
- Questo è code-golf , quindi vince la risposta più breve in byte!
Casi test
[ 1, 2 ] --> [ 2, 1 ]
[ 3, 4 ] --> [ 1, 1 ]
[ 1, 2, 3 ] --> [ 2, 1, 0 ]
[ 4, 4, 4 ] --> [ 2, 2, 2 ]
[ 73, 50, 61 ] --> [ 0, 1, 2 ]
[ 941, 459, 533 ] --> [ 1, 0, 0 ]
[ 817, 19, 928, 177 ] --> [ 1, 2, 1, 1 ]
[ 312, 463, 336, 729, 513 ] --> [ 0, 2, 0, 0, 0 ]
[ 53, 47, 33, 87, 81, 3, 17 ] --> [ 0, 0, 0, 1, 0, 2, 0 ]
[1]
, [0, 1]
e [1, 1]
il lavoro?