1.5 KiB
1.5 KiB
Zadanie
Napisać program, który dla pierścienia ℤ/nℤ[x]/(f = a₀ + a₁x¹+ ...+ aₖxᵏ)
znajdzie wszystkie
- elementy odwracalne,
- dzielniki zera,
- elementy nilpotentne,
- elementy idempotentne.
- INPUT:
n [a₀,a₁,...,aₖ]
- OUTPUT: lista zawierająca cztery powyższe listy elementów (wielomianów, podanych jako listy współczynników)
Przykłady:
ℤ/2ℤ[x]/(x² + x + 1)
, który jest ciałem, tzn.0
jest jedynym elementem nilpotentnym i jedynym dzielnikiem zera:- INPUT:
2 [1,1,1]
- OUTPUT:
- INPUT:
[
[[1], [0,1], [0,1], [1,1]], # odwracalne
[[0]], # dzielniki zera
[[0]], # nilpotenty
[[1]] # idempotenty
]
ℤ/5ℤ[x]/(2x³ + 2x² + x + 1)
- INPUT:
3, [1,1,2,2]
- OUTPUT:
- INPUT:
[
[[1], [2], [0, 1], [0, 2], [0, 0, 1], [1, 0, 1], [2, 1, 1], [2, 2, 1], [0, 0, 2], [2, 0, 2], [1, 1, 2], [1, 2, 2]], # odwracalne
[[0], [1, 1], [2, 1], [1, 2], [2, 2], [2, 0, 1], [0, 1, 1], [1, 1, 1], [0, 2, 1], [1, 2, 1], [1, 0, 2], [0, 1, 2], [2, 1, 2], [0, 2, 2], [2, 2, 2]], # dzielniki zera
[[0], [2, 0, 1], [1, 0, 2]], # nilpotenty
[[0], [1], [1, 2, 1], [0, 1, 2]] # idempotenty
]
Warunki punktacji
- program musi być typu wsadowego, tj. uruchamiany z linii komend;
- program musi się działać (i kompilować) na serwerze LTS
UWAGA: NIE przyjmuję squashed pulls (z jednym commitem)
Termin
28.06.2018