diff --git a/04-Ilorazy-pierścienia-wielomianów.md b/04-Ilorazy-pierścienia-wielomianów.md new file mode 100644 index 0000000..097cdff --- /dev/null +++ b/04-Ilorazy-pierścienia-wielomianów.md @@ -0,0 +1,48 @@ +## 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