Sie erhalten ein Array A von n streng positiven ganzen Zahlen mit n ≥ 2 .
Ihre Aufgabe ist es, jeden Eintrag A i zuzuordnen :
- 1, wenn A j mod A i für jedes j ungerade ist, so dass 1 ≤ j ≤ n und j ≤ i
- 2 wenn A j mod A i für jedes j gerade ist, so dass 1 ≤ j ≤ n und j j i
- 0 sonst (gemischte Paritäten)
Beispiel
Für A = [73, 50, 61] gilt:
- 50 mod 73 = 50 , 61 mod 73 = 61 → gemischt
- 73 mod 50 = 23 , 61 mod 50 = 11 → alles ungerade
- 73 mod 61 = 12 , 50 mod 61 = 50 → alles gerade
Daher ist die erwartete Ausgabe [0, 1, 2] .
Regeln
- Sie können anstelle von 0 , 1 und 2 drei unterschiedliche Werte (jeden Typs) verwenden , sofern diese konsistent sind. Bitte geben Sie Ihr Mapping an, wenn Sie nicht das in der Challenge beschriebene verwenden.
- Sollte diesbezüglich ein Zweifel bestehen, ist Null gerade .
- Das ist Code-Golf , also gewinnt die kürzeste Antwort in Bytes!
Testfälle
[ 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]
und [1, 1]
Arbeit?