Liczby skojarzone(zadanie maturalne)

Liczby skojarzone(zadanie maturalne)
BQ
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Wrocław
  • Postów: 25
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:

Kopiuj
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 :)

lion137
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 5068
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.

BQ
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Wrocław
  • Postów: 25
0

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

Burdzi0
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Futurama
  • Postów: 887
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

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.