Liczby skojarzone(zadanie maturalne)

0

Witam. Rozwiązałem zadanie maturalne z arkusza w roku 2016 o liczbach skojarzonych. Oto link do wyjaśnienia pojęcia "liczb skojarzonych"(treść zadania 1.0) oraz do samego polecenia(zadanie 1.2).

Zadanie 1.0: 1.0
Zadanie 1.2: 1.2

Sam opisałem cały algorytm, jednak w rozwiązaniu tego zadania umieszczono jedną linijkę, której znaczenia nie mogę zrozumieć. Konkretnie chodzi mi o fragment:

jeżeli (n div i != i) 
    suma = suma + n/i

Rozwiązanie: Rozwiązanie

Jeżeli ktoś ma chwilkę na wyjaśnienie w jakim celu umieszczamy to polecenie,byłbym bardzo wdzięczny. Pozdrawiam :)

1

Div tutaj to dzielenie w liczbach całkowitych. Prześledź sobie algorytm, dla 12, na przykład, bez tej linijki jest tylko 6; dlatego, że funkcja idzie tylko do 3, potrzebne są jeszcze dzielniki 4 i 6 - czyli 12 / 2 i 12 / 3.

0

Dzięki za pomoc, o to mi chodziło. :) Pozdrawiam.

0

Mam pytanie dokładnie o to samo zadanie :P
Jeżeli moja odpowiedź wygląda tak:
Krok 1. z = 0, y = 0.
Krok 2. Dla i = 1,2 ... a - 2, a - 1 rób:
jeśli a % i == 0 wtedy z = z + i.
Krok 3. x = z - 1.
Krok 4. Dla j = 1,2 ... x - 2, x - 1 rób:
jeśli x % j == 0 wtedy y = y + j.
Krok 5. Jeśli y - 1 == a wtedy:
wypisz x,
w przeciwnym wypadku:
wypisz "NIE"
Zakończ algorytm.

W algorytmie % oznacza modulo (resztę z dzielenia), pojedynczy znak "=" przypisanie, a podwójny "==" porównanie czy liczby są sobie równe.


W odpowiedziach CKE jest coś takiego:

screenshot-20170314185438.png

Natomiast punktacja wygląda tak:

screenshot-20170314185510.png

Jeden punkt na pewno tracę za

algorytm o złożoności nie gorszej niż pierwiastek z n

1 użytkowników online, w tym zalogowanych: 0, gości: 1