{"id":"informatyka-2016-maj-matura-rozszerzona/zad/1.1","paper_id":"informatyka-2016-maj-matura-rozszerzona","number":"1.1","points":1,"ptype":"closed","subject":"informatyka","category":"matura","year":2016,"month":"maj","level":"rozszerzona","text":"Zadanie 1.1. (0-1)\nZbadaj, które z następujących par liczb (a, b) są liczbami skojarzonymi, i wypełnij poniższą\ntabelę:\na\nb\ndzielniki a\n(mniejsze od a)\ndzielniki b\n(mniejsze od b)\nsuma\ndzielników\na\nsuma\ndzielników\nb\nskojarzone\nTAK/NIE\n78\n64\n1, 2, 3, 6, 13, 26, 39\n1, 2, 4, 8, 16, 32\n90\n63\nNIE\n20\n21\n75\n48\nMiejsce na obliczenia.\nMIN_1R","answer":"a","answer_text":"Zadanie 1.1. (0-1)\nWymagania ogólne\nWymagania szczegółowe\nIII. Rozwiązywanie problemów\ni podejmowanie decyzji […],\nz zastosowaniem podejścia algorytmicznego.\n5. Rozwiązywanie problemów i podejmowanie\ndecyzji […], stosowanie podejścia algorytmicznego.\nZdający:\n2) stosuje podejście algorytmiczne do rozwiązywania\nproblemu.\nSchemat punktowania\n1 p. - za poprawne uzupełnienie wszystkich rubryk tabeli.\n0 p. - za odpowiedź niepełną lub błędną albo za brak odpowiedzi.\nPoprawna odpowiedź\na\nb\ndzielniki a\ndzielniki b\nsuma\ndzielników a\nsuma\ndzielników b\nSkojarzone?\n78\n64\n1, 2, 3, 6, 13, 26, 39 1, 2, 4, 8, 16, 32\n90\n63\nNIE\n20\n21\n1, 2, 4, 5, 10\n1, 3, 7\n22\n11\nNIE\n75\n48\n1, 3, 5, 15, 25\n1, 2, 3, 4, 6, 8, 12,\n16, 24\n49\n76\nTAK","solution":"## Poprawna odpowiedź\n\n| a | b | dzielniki a | dzielniki b | suma a | suma b | Skojarzone? |\n| 78 | 64 | 1, 2, 3, 6, 13, 26, 39 | 1, 2, 4, 8, 16, 32 | 90 | 63 | NIE |\n| 20 | 21 | **1, 2, 4, 5, 10** | **1, 3, 7** | **22** | **11** | **NIE** |\n| 75 | 48 | **1, 3, 5, 15, 25** | **1, 2, 3, 4, 6, 8, 12, 16, 24** | **49** | **76** | **TAK** |\n\n## Sposób 1 - bezpośrednie sprawdzenie definicji\n\n**Definicja:** liczby a i b są skojarzone, gdy `suma_dzielnikow_wlasciwych(a) = b + 1` ORAZ `suma_dzielnikow_wlasciwych(b) = a + 1`.\n\n**Dzielniki właściwe** = wszystkie dzielniki mniejsze od samej liczby (czyli bez n).\n\n### Para (20, 21)\n- Dzielniki 20 mniejsze od 20: `1, 2, 4, 5, 10` (sprawdzamy: 20/1=20, 20/2=10, 20/4=5, 20/5=4, 20/10=2 - wszystko OK). Suma = `1+2+4+5+10 = 22`.\n- Dzielniki 21: `1, 3, 7` (21 = 3·7). Suma = `1+3+7 = 11`.\n- Warunek: `22 = 21 + 1` ✓ (suma a = b+1), ale `11 ≠ 20 + 1 = 21` ✗.\n- **Skojarzone: NIE** (drugi warunek nie spełniony).\n\n### Para (75, 48)\n- Dzielniki 75 mniejsze od 75: `1, 3, 5, 15, 25` (75 = 3·5²). Suma = `1+3+5+15+25 = 49`.\n- Dzielniki 48: `1, 2, 3, 4, 6, 8, 12, 16, 24` (48 = 2⁴·3). Suma = `1+2+3+4+6+8+12+16+24 = 76`.\n- Warunek: `49 = 48 + 1` ✓ ORAZ `76 = 75 + 1` ✓.\n- **Skojarzone: TAK** ✓\n\n## Sposób 2 - implementacja Python (do weryfikacji)\n\n```python\ndef suma_dzielnikow_wlasciwych(n):\ns = 1 if n > 1 else 0\ni = 2\nwhile i * i <= n:\nif n % i == 0:\ns += i\nif i != n // i:\ns += n // i\ni += 1\nreturn s\n\ndef skojarzone(a, b):\nreturn suma_dzielnikow_wlasciwych(a) == b + 1 and \\\nsuma_dzielnikow_wlasciwych(b) == a + 1\n\nfor a, b in [(78, 64), (20, 21), (75, 48)]:\nsa = suma_dzielnikow_wlasciwych(a)\nsb = suma_dzielnikow_wlasciwych(b)\nprint(a, b, sa, sb, 'TAK' if skojarzone(a, b) else 'NIE')\n\nWynik:\n78 64 90 63 NIE\n20 21 22 11 NIE\n75 48 49 76 TAK\n\n## Reference informatyczny - suma dzielników\n\n> Reference - Suma dzielników właściwych:\n> - **Dzielnik właściwy** = każdy dzielnik n mniejszy od samego n.\n> - **Efektywne wyznaczanie**: pętla i od 2 do √n; jeśli n mod i = 0, dodaj i oraz n/i (pomiń duplikat gdy i = n/i).\n> - **Złożoność**: O(√n) zamiast O(n).\n> - **Liczby zaprzyjaźnione (amicable)** - pokrewna definicja: `s(a) = b` i `s(b) = a` (suma WSZYSTKICH dzielników mniejszych od n, bez \"+1\"). Para 220-284. W zadaniu CKE jest wariant z `+1`.\n\n## Schemat oceniania CKE\n\n> Klucz CKE (zadanie 1.1, max 1 pkt):\n> - **1 pkt** - wszystkie rubryki tabeli (dzielniki, sumy, TAK/NIE) poprawne dla obu nowych wierszy\n> - **0 pkt** - odpowiedź niepełna lub błędna\n\n## Typowe pułapki\n\n- **Wliczanie n do dzielników** - niektórzy uczniowie dodają n do sumy. Wtedy dla 20 suma = 42 zamiast 22.\n- **Pominięcie pary dzielników** - np. dla 75 zapomnienie o 25 (= 5²) lub o 15 (= 3·5).\n- **Pomylenie warunku** - definicja wymaga `suma(a) = b+1`, nie `suma(a) = b`.\n- **Sprawdzenie tylko jednego warunku** - para musi spełniać OBA warunki naraz; (20, 21) spełnia jeden, drugi nie - więc NIE.\n\n## Złożoność obliczeniowa\n\n- Wyznaczenie dzielników jednej liczby: **O(√n)**.\n- Sprawdzenie pary (a, b): **O(√a + √b)**.\n- Dla wszystkich par tabeli: O(1) wywołań - tabela ma 3 wiersze.","image":"img/informatyka-2016-maj-matura-rozszerzona/zad-1.1.webp","solution_image":null,"topics":null,"page_from":2,"source":"ocr","answer_source":"ocr","answer_text_source":"ocr","solution_source":"maturazai","text_source":"ocr","source_label":"Informatyka · Matura · maj 2016 (rozszerzona)","subject_label":"Informatyka","category_label":"Matura","text_html":"<p>Zadanie 1.1. (0-1)<br>Zbadaj, które z następujących par liczb (a, b) są liczbami skojarzonymi, i wypełnij poniższą<br>tabelę:<br>a<br>b<br>dzielniki a<br>(mniejsze od a)<br>dzielniki b<br>(mniejsze od b)<br>suma<br>dzielników<br>a<br>suma<br>dzielników<br>b<br>skojarzone<br>TAK/NIE<br>78<br>64<br>1, 2, 3, 6, 13, 26, 39<br>1, 2, 4, 8, 16, 32<br>90<br>63<br>NIE<br>20<br>21<br>75<br>48<br>Miejsce na obliczenia.<br>MIN_1R</p>","answer_text_html":"<p>Zadanie 1.1. (0-1)<br>Wymagania ogólne<br>Wymagania szczegółowe<br>III. Rozwiązywanie problemów<br>i podejmowanie decyzji […],<br>z zastosowaniem podejścia algorytmicznego.</p>\n<ol><li>Rozwiązywanie problemów i podejmowanie</li></ol>\n<p>decyzji […], stosowanie podejścia algorytmicznego.<br>Zdający:</p>\n<ol><li>stosuje podejście algorytmiczne do rozwiązywania</li></ol>\n<p>problemu.<br>Schemat punktowania<br>1 p. - za poprawne uzupełnienie wszystkich rubryk tabeli.<br>0 p. - za odpowiedź niepełną lub błędną albo za brak odpowiedzi.<br>Poprawna odpowiedź<br>a<br>b<br>dzielniki a<br>dzielniki b<br>suma<br>dzielników a<br>suma<br>dzielników b<br>Skojarzone?<br>78<br>64<br>1, 2, 3, 6, 13, 26, 39 1, 2, 4, 8, 16, 32<br>90<br>63<br>NIE<br>20<br>21<br>1, 2, 4, 5, 10<br>1, 3, 7<br>22<br>11<br>NIE<br>75<br>48<br>1, 3, 5, 15, 25<br>1, 2, 3, 4, 6, 8, 12,<br>16, 24<br>49<br>76<br>TAK</p>","solutions":[{"source":"maturazai","label":"maturazai.pl (AI)","kind":"text","html":"<h4>Poprawna odpowiedź</h4>\n<p>| a | b | dzielniki a | dzielniki b | suma a | suma b | Skojarzone? |<br>| 78 | 64 | 1, 2, 3, 6, 13, 26, 39 | 1, 2, 4, 8, 16, 32 | 90 | 63 | NIE |<br>| 20 | 21 | <strong>1, 2, 4, 5, 10</strong> | <strong>1, 3, 7</strong> | <strong>22</strong> | <strong>11</strong> | <strong>NIE</strong> |<br>| 75 | 48 | <strong>1, 3, 5, 15, 25</strong> | <strong>1, 2, 3, 4, 6, 8, 12, 16, 24</strong> | <strong>49</strong> | <strong>76</strong> | <strong>TAK</strong> |</p>\n<h4>Sposób 1 - bezpośrednie sprawdzenie definicji</h4>\n<p><strong>Definicja:</strong> liczby a i b są skojarzone, gdy <code>suma_dzielnikow_wlasciwych(a) = b + 1</code> ORAZ <code>suma_dzielnikow_wlasciwych(b) = a + 1</code>.</p>\n<p><strong>Dzielniki właściwe</strong> = wszystkie dzielniki mniejsze od samej liczby (czyli bez n).</p>\n<h5>Para (20, 21)</h5>\n<ul><li>Dzielniki 20 mniejsze od 20: <code>1, 2, 4, 5, 10</code> (sprawdzamy: 20/1=20, 20/2=10, 20/4=5, 20/5=4, 20/10=2 - wszystko OK). Suma = <code>1+2+4+5+10 = 22</code>.</li><li>Dzielniki 21: <code>1, 3, 7</code> (21 = 3·7). Suma = <code>1+3+7 = 11</code>.</li><li>Warunek: <code>22 = 21 + 1</code> ✓ (suma a = b+1), ale <code>11 ≠ 20 + 1 = 21</code> ✗.</li><li><strong>Skojarzone: NIE</strong> (drugi warunek nie spełniony).</li></ul>\n<h5>Para (75, 48)</h5>\n<ul><li>Dzielniki 75 mniejsze od 75: <code>1, 3, 5, 15, 25</code> (75 = 3·5²). Suma = <code>1+3+5+15+25 = 49</code>.</li><li>Dzielniki 48: <code>1, 2, 3, 4, 6, 8, 12, 16, 24</code> (48 = 2⁴·3). Suma = <code>1+2+3+4+6+8+12+16+24 = 76</code>.</li><li>Warunek: <code>49 = 48 + 1</code> ✓ ORAZ <code>76 = 75 + 1</code> ✓.</li><li><strong>Skojarzone: TAK</strong> ✓</li></ul>\n<h4>Sposób 2 - implementacja Python (do weryfikacji)</h4>\n<p>```python<br>def suma_dzielnikow_wlasciwych(n):<br>s = 1 if n &gt; 1 else 0<br>i = 2<br>while i * i &lt;= n:<br>if n % i == 0:<br>s += i<br>if i != n // i:<br>s += n // i<br>i += 1<br>return s</p>\n<p>def skojarzone(a, b):<br>return suma_dzielnikow_wlasciwych(a) == b + 1 and \\<br>suma_dzielnikow_wlasciwych(b) == a + 1</p>\n<p>for a, b in [(78, 64), (20, 21), (75, 48)]:<br>sa = suma_dzielnikow_wlasciwych(a)<br>sb = suma_dzielnikow_wlasciwych(b)<br>print(a, b, sa, sb, &#x27;TAK&#x27; if skojarzone(a, b) else &#x27;NIE&#x27;)</p>\n<p>Wynik:<br>78 64 90 63 NIE<br>20 21 22 11 NIE<br>75 48 49 76 TAK</p>\n<h4>Reference informatyczny - suma dzielników</h4>\n<blockquote>Reference - Suma dzielników właściwych:<br>- <strong>Dzielnik właściwy</strong> = każdy dzielnik n mniejszy od samego n.<br>- <strong>Efektywne wyznaczanie</strong>: pętla i od 2 do √n; jeśli n mod i = 0, dodaj i oraz n/i (pomiń duplikat gdy i = n/i).<br>- <strong>Złożoność</strong>: O(√n) zamiast O(n).<br>- <strong>Liczby zaprzyjaźnione (amicable)</strong> - pokrewna definicja: <code>s(a) = b</code> i <code>s(b) = a</code> (suma WSZYSTKICH dzielników mniejszych od n, bez &quot;+1&quot;). Para 220-284. W zadaniu CKE jest wariant z <code>+1</code>.</blockquote>\n<h4>Schemat oceniania CKE</h4>\n<blockquote>Klucz CKE (zadanie 1.1, max 1 pkt):<br>- <strong>1 pkt</strong> - wszystkie rubryki tabeli (dzielniki, sumy, TAK/NIE) poprawne dla obu nowych wierszy<br>- <strong>0 pkt</strong> - odpowiedź niepełna lub błędna</blockquote>\n<h4>Typowe pułapki</h4>\n<ul><li><strong>Wliczanie n do dzielników</strong> - niektórzy uczniowie dodają n do sumy. Wtedy dla 20 suma = 42 zamiast 22.</li><li><strong>Pominięcie pary dzielników</strong> - np. dla 75 zapomnienie o 25 (= 5²) lub o 15 (= 3·5).</li><li><strong>Pomylenie warunku</strong> - definicja wymaga <code>suma(a) = b+1</code>, nie <code>suma(a) = b</code>.</li><li><strong>Sprawdzenie tylko jednego warunku</strong> - para musi spełniać OBA warunki naraz; (20, 21) spełnia jeden, drugi nie - więc NIE.</li></ul>\n<h4>Złożoność obliczeniowa</h4>\n<ul><li>Wyznaczenie dzielników jednej liczby: <strong>O(√n)</strong>.</li><li>Sprawdzenie pary (a, b): <strong>O(√a + √b)</strong>.</li><li>Dla wszystkich par tabeli: O(1) wywołań - tabela ma 3 wiersze.</li></ul>"}]}