Korzystając z języka programowania lub schematu interaktywnego, zastosuj algorytm sprawdzający, czy dwie podane liczby są parą liczb zaprzyjaźnionych.
Przygotuj algorytm w języku Python sprawdzający, czy dwie podane liczby: 220 i 284 są parą liczb zaprzyjaźnionych.
Specyfikacja:
Dane:
liczba1 – liczba do sprawdzenia; liczba naturalna
liczba2 – liczba do sprawdzenia; liczba naturalna
Wynik:
Program wypisuje komunikat Liczby są parą liczb zaprzyjaźnionych lub Liczby nie są parą liczb zaprzyjaźnionych.
RFyTA42EkRFBY
Wymyśl pytanie na kartkówkę związane z tematem materiału.
Wymyśl pytanie na kartkówkę związane z tematem materiału.
RmRol5r5815GV1
Wymyśl pytanie na kartkówkę związane z tematem materiału.
Wymyśl pytanie na kartkówkę związane z tematem materiału.
R1E16anGoIRbd
Wymyśl pytanie na kartkówkę związane z tematem materiału.
Wymyśl pytanie na kartkówkę związane z tematem materiału.
1
R1K4uKIAKFPNc1
Wymyśl pytanie na kartkówkę związane z tematem materiału.
Wymyśl pytanie na kartkówkę związane z tematem materiału.
Linia 1. from numbers import Number.
Linia 3. liczba1 znak równości None.
Linia 4. liczba2 znak równości None.
Linia 5. sumaDzielnikow1 znak równości None.
Linia 6. sumaDzielnikow2 znak równości None.
Linia 7. i znak równości None.
Linia 8. j znak równości None.
Linia 10. def upRange otwórz nawias okrągły start przecinek stop przecinek step zamknij nawias okrągły dwukropek.
Linia 11. while start otwórz nawias ostrokątny znak równości stop dwukropek.
Linia 12. yield start.
Linia 13. start plus znak równości abs otwórz nawias okrągły step zamknij nawias okrągły.
Linia 15. def downRange otwórz nawias okrągły start przecinek stop przecinek step zamknij nawias okrągły dwukropek.
Linia 16. while start zamknij nawias ostrokątny znak równości stop dwukropek.
Linia 17. yield start.
Linia 18. start minus znak równości abs otwórz nawias okrągły step zamknij nawias okrągły.
Linia 21. liczba1 znak równości 220.
Linia 22. liczba2 znak równości 284.
Linia 23. sumaDzielnikow1 znak równości 0.
Linia 24. sumaDzielnikow2 znak równości 0.
Linia 25. i podkreślnik end znak równości float otwórz nawias okrągły liczba1 minus 1 zamknij nawias okrągły.
Linia 26. for i in otwórz nawias okrągły 1 otwórz nawias ostrokątny znak równości i podkreślnik end zamknij nawias okrągły and upRange otwórz nawias okrągły 1 przecinek i podkreślnik end przecinek 1 zamknij nawias okrągły or downRange otwórz nawias okrągły 1 przecinek i podkreślnik end przecinek 1 zamknij nawias okrągły dwukropek.
Linia 27. if liczba1 procent i znak równości znak równości 0 dwukropek.
Linia 28. sumaDzielnikow1 znak równości otwórz nawias okrągły sumaDzielnikow1 if isinstance otwórz nawias okrągły sumaDzielnikow1 przecinek Number zamknij nawias okrągły else 0 zamknij nawias okrągły plus i.
Linia 29. j podkreślnik end znak równości float otwórz nawias okrągły liczba2 minus 1 zamknij nawias okrągły.
Linia 30. for j in otwórz nawias okrągły 1 otwórz nawias ostrokątny znak równości j podkreślnik end zamknij nawias okrągły and upRange otwórz nawias okrągły 1 przecinek j podkreślnik end przecinek 1 zamknij nawias okrągły or downRange otwórz nawias okrągły 1 przecinek j podkreślnik end przecinek 1 zamknij nawias okrągły dwukropek.
Linia 31. if liczba2 procent j znak równości znak równości 0 dwukropek.
Linia 32. sumaDzielnikow2 znak równości otwórz nawias okrągły sumaDzielnikow2 if isinstance otwórz nawias okrągły sumaDzielnikow2 przecinek Number zamknij nawias okrągły else 0 zamknij nawias okrągły plus j.
Linia 33. if sumaDzielnikow1 znak równości znak równości liczba2 and sumaDzielnikow2 znak równości znak równości liczba1 dwukropek.
Linia 34. print otwórz nawias okrągły apostrof Para liczb jest parą liczb zaprzyjaźnionych apostrof zamknij nawias okrągły.
Linia 35. else dwukropek.
Linia 36. print otwórz nawias okrągły apostrof Para liczb nie jest parą liczb zaprzyjaźnionych apostrof zamknij nawias okrągły.
from numbers import Number
liczba1 = None
liczba2 = None
sumaDzielnikow1 = None
sumaDzielnikow2 = None
i = None
j = None
def upRange(start, stop, step):
while start <= stop:
yield start
start += abs(step)
def downRange(start, stop, step):
while start >= stop:
yield start
start -= abs(step)
liczba1 = 220
liczba2 = 284
sumaDzielnikow1 = 0
sumaDzielnikow2 = 0
i_end = float(liczba1 - 1)
for i in (1 <= i_end) and upRange(1, i_end, 1) or downRange(1, i_end, 1):
if liczba1 % i == 0:
sumaDzielnikow1 = (sumaDzielnikow1 if isinstance(sumaDzielnikow1, Number) else 0) + i
j_end = float(liczba2 - 1)
for j in (1 <= j_end) and upRange(1, j_end, 1) or downRange(1, j_end, 1):
if liczba2 % j == 0:
sumaDzielnikow2 = (sumaDzielnikow2 if isinstance(sumaDzielnikow2, Number) else 0) + j
if sumaDzielnikow1 == liczba2 and sumaDzielnikow2 == liczba1:
print('Para liczb jest parą liczb zaprzyjaźnionych')
else:
print('Para liczb nie jest parą liczb zaprzyjaźnionych')
Polecenie 2
R1LHSPaKIeXZm
Przygotuj notatkę ze swoimi spostrzeżeniami dotyczącymi algorytmu. (Uzupełnij).