49 lines
1.5 KiB
Markdown
49 lines
1.5 KiB
Markdown
## Zadanie
|
||
|
||
Napisać program, który dla pierścienia `ℤ/nℤ[x]/(f = a₀ + a₁x¹+ ...+ aₖxᵏ)` znajdzie wszystkie
|
||
|
||
1. elementy odwracalne,
|
||
2. dzielniki zera,
|
||
3. elementy nilpotentne,
|
||
4. 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:
|
||
|
||
1. `ℤ/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:
|
||
|
||
```shell
|
||
[
|
||
[[1], [0,1], [0,1], [1,1]], # odwracalne
|
||
[[0]], # dzielniki zera
|
||
[[0]], # nilpotenty
|
||
[[1]] # idempotenty
|
||
]
|
||
```
|
||
|
||
1. `ℤ/5ℤ[x]/(2x³ + 2x² + x + 1)`
|
||
* INPUT: `3, [1,1,2,2]`
|
||
* OUTPUT:
|
||
|
||
```sh
|
||
[
|
||
[[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](https://laboratoria.wmi.amu.edu.pl/en/uslugi/serwer-terminalowy/lts)
|
||
|
||
UWAGA: **NIE** przyjmuję squashed pulls (z jednym commitem)
|
||
|
||
### Termin
|
||
28.06.2018
|