Anda diberi array A dari n bilangan bulat yang benar-benar positif, dengan n ≥ 2 .
Tugas Anda adalah memetakan setiap entri A i ke:
- 1 jika A j mod A i aneh untuk setiap j sedemikian sehingga 1 ≤ j ≤ n dan j ≠ i
- 2 jika A j mod A i bahkan untuk setiap j sedemikian sehingga 1 ≤ j ≤ n dan j ≠ i
- 0 sebaliknya (paritas campuran)
Contoh
Untuk A = [73, 50, 61] , kami memiliki:
- 50 mod 73 = 50 , 61 mod 73 = 61 → tercampur
- 73 mod 50 = 23 , 61 mod 50 = 11 → semuanya ganjil
- 73 mod 61 = 12 , 50 mod 61 = 50 → semuanya genap
Oleh karena itu, output yang diharapkan adalah [0, 1, 2] .
Aturan
- Anda dapat menggunakan tiga nilai berbeda (dari jenis apa pun) alih-alih 0 , 1 dan 2 selama mereka konsisten. Silakan tentukan pemetaan Anda jika Anda tidak menggunakan yang dijelaskan dalam tantangan.
- Jika ada keraguan tentang itu, nol adalah genap .
- Ini adalah kode-golf , jadi jawaban tersingkat dalam byte menang!
Uji kasus
[ 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]
dan [1, 1]
pekerjaan?