# Informatyka — zadanie 1.1

> Źródło: matura.lol — https://matura.lol/question/maturazai-informatyka-inf-2017-05/zad/1.1
> Wersja Markdown strony zadania (dla asystentów AI). Przy cytowaniu podaj matura.lol i link powyżej.

- arkusz: Informatyka · Matura · maj 2017 (rozszerzona)
- rok: 2017
- poziom: rozszerzona
- typ: open
- punkty: 2
- działy: Programowanie i algorytmika

## Treść

Zadanie 1. Prostokąt

Dane są:
- liczba całkowita n większa od 1
- zbiór A zawierający n dodatnich, różnych liczb całkowitych
- liczba pierwsza p

Dla danych z każdego wiersza w tabeli oblicz największe pole powierzchni prostokąta, które nie jest podzielne przez p, a długości sąsiednich boków tego prostokąta są różne (nie może on być kwadratem) i należą do zbioru A. Zapisz pole tego prostokąta w kolumnie S. Jeżeli taki prostokąt nie istnieje, jako wynik podaj liczbę 0 (zero).

Zbiór A | p | S - pole szukanego prostokąta lub 0 (zero), jeśli nie można zbudować takiego prostokąta
7, 5, 11, 33 | 3 | 77
15, 12, 10, 6, 5, 1 | 5 | ?
6, 28, 7, 12, 10, 14, 5, 9, 4, 8, 18 | 7 | ?
4, 34, 16, 8, 6, 22, 14, 12, 2, 7 | 2 | ?

## Rozwiązanie — maturazai.pl (AI)

## Poprawna odpowiedź

| Zbiór A | p | S |
| 7, 5, 11, 33 | 3 | 77 |
| 15, 12, 10, 6, 5, 1 | 5 | **72** (12·6) |
| 6, 28, 7, 12, 10, 14, 5, 9, 4, 8, 18 | 7 | **216** (18·12) |
| 4, 34, 16, 8, 6, 22, 14, 12, 2, 7 | 2 | **0** |

## Sposób 1 - kluczowa obserwacja matematyczna

Iloczyn a·b nie jest podzielny przez liczbę pierwszą p **wtedy i tylko wtedy, gdy ani a, ani b nie jest podzielne przez p** (własność liczb pierwszych: jeśli p|a·b to p|a lub p|b).

**Strategia:** Odfiltruj ze zbioru A wszystkie liczby podzielne przez p. Z pozostałych weź **dwie największe różne** liczby - ich iloczyn da maksimum.

## Sposób 2 - analiza każdego wiersza

### Wiersz 1: A = {7, 5, 11, 33}, p = 3
Liczby niepodzielne przez 3: 7, 5, 11 (33 = 3·11 - odpada).
Największe dwie różne: 11 i 7 → **S = 11 · 7 = 77** ✓ (zgadza się z przykładem w arkuszu)

### Wiersz 2: A = {15, 12, 10, 6, 5, 1}, p = 5
Liczby niepodzielne przez 5: 12, 6, 1 (15, 10, 5 podzielne - odpadają).
Największe dwie różne: 12 i 6 → **S = 12 · 6 = 72**

### Wiersz 3: A = {6, 28, 7, 12, 10, 14, 5, 9, 4, 8, 18}, p = 7
Liczby niepodzielne przez 7: 6, 12, 10, 5, 9, 4, 8, 18 (28, 7, 14 odpadają jako wielokrotności 7).
Największe dwie różne: 18 i 12 → **S = 18 · 12 = 216**

### Wiersz 4: A = {4, 34, 16, 8, 6, 22, 14, 12, 2, 7}, p = 2
Liczby niepodzielne przez 2 (czyli nieparzyste): tylko **7**.
Mamy tylko 1 liczbę nieparzystą - nie można zbudować prostokąta o dwóch RÓŻNYCH bokach.
**S = 0**

## Sposób 3 - weryfikacja kodem (Python)

```python
def pole_max(A, p):
filtr = [x for x in A if x % p != 0]
if len(filtr) < 2:
return 0
filtr.sort(reverse=True)
return filtr[0] * filtr[1]

print(pole_max([7, 5, 11, 33], 3)) # 77
print(pole_max([15, 12, 10, 6, 5, 1], 5)) # 72
print(pole_max([6, 28, 7, 12, 10, 14, 5, 9, 4, 8, 18], 7)) # 216
print(pole_max([4, 34, 16, 8, 6, 22, 14, 12, 2, 7], 2)) # 0

## Reference informatyczny - własności liczb pierwszych

> Reference - liczby pierwsze:
> - Liczba pierwsza p dzieli iloczyn a·b ⟺ p|a lub p|b (kluczowa własność, podstawa rozkładu na czynniki).
> - Sprawdzenie podzielności: `a mod p == 0` w pseudokodzie / `a % p == 0` w Python/C++.
> - Dla maksymalizacji iloczynu dwóch różnych elementów z listy bierzemy dwie największe (sortowanie malejące → wybierz [0] i [1]).

## Schemat oceniania CKE

> Klucz CKE (zadanie 1.1, max 2 pkt):
> - **2 pkt** - za prawidłową odpowiedź w trzech wierszach (72, 216, 0)
> - **1 pkt** - za prawidłową odpowiedź w dwóch wierszach
> - **0 pkt** - za jedną poprawną odpowiedź albo brak

## Typowe pułapki

- **Zapomnienie warunku „boki różne"**: w wierszu 1 nie można wziąć 33·33, choć 33² byłoby większe - boki muszą być różne. Ale 33 i tak odpada (podzielne przez 3).
- **Wiersz 4 jest pułapką**: tylko jedna liczba nieparzysta (7), więc S = 0. Łatwo przeoczyć - np. ktoś bierze 7·jakaś_parzysta, ale wtedy iloczyn jest parzysty (czyli podzielny przez 2).
- **Pomylenie p z dowolną liczbą** - p musi być liczbą pierwszą, dlatego stosujemy własność (jeśli p|a·b to p|a lub p|b). Dla liczb złożonych to nie działa (np. 6|2·3, ale 6∤2 i 6∤3).

## Złożoność obliczeniowa

Przefiltrowanie + znalezienie 2 największych: **O(n)** dla każdego wiersza tabeli.

## Linki

- [dane JSON](https://matura.lol/api/question/maturazai-informatyka-inf-2017-05/zad/1.1)
- [otwórz w wyszukiwarce](https://matura.lol/?problem=maturazai-informatyka-inf-2017-05%2Fzad%2F1.1)

## Podobne zadania

- [Zadanie 1](https://matura.lol/question/informatyka-2026-maj-matura-rozszerzona/zad/1) — Zadanie 1. Rekurencja Dana jest zdefiniowana rekurencyjnie funkcja A(m, n), gdzie m i n sa dodatnimi liczbami calkowitymi. $$A(m, n) = \begin{cases} m & \text{g
- [Zadanie 1.1](https://matura.lol/question/informatyka-2026-maj-matura-stara-rozszerzona/zad/1.1) — Zadanie 1.1. (0-4) Obliczenie wartości funkcji A(3, 9) wprost z definicji wymaga trzech wywołań rekurencyjnych: A(3, 4), A(6, 2), A(12, 1), ponieważ: A(3, 9) = 
- [Zadanie 1.1](https://matura.lol/question/informatyka-2021-czerwiec-matura-rozszerzona/zad/1.1) — Zadanie 1.1. (0-3) Uzupełnij poniższą tabelę zgodnie z zapisanymi w niej warunkami, czyli: • w wierszu 3 wpisz reprezentację kwadratową liczby 23 krótszą od jej
- [Zadanie 6.4](https://matura.lol/question/informatyka-2020-kwiecien-probna-rozszerzona-2/zad/6.4) — Zadanie 6.4. (0-3) W dniach od 6 grudnia 2017 roku do 15 stycznia 2018 roku (włącznie) salon urody „BEAUTY” oferował dla Pań 20% zniżkę na dowolny makijaż. Poda

_Ostatnia aktualizacja danych: 2026-10-03_
