R1EmPIK8PbWl1
Zdjęcie przedstawia rozsypany stos wyciętych cyfr.

I_P_W14_M04_Java Własności liczb

Źródło: Pixabay, domena publiczna.

Liczby zaprzyjaźnione

Aby dwie liczby naturalne można było uznać za parę liczb zaprzyjaźnionych, suma dzielników właściwych pierwszej z nich musi być równa wartości drugiej liczby, natomiast suma dzielników właściwych drugiej liczby musi być równa wartości pierwszej liczby. Przykładem pary spełniającej ten warunek są liczby 220 i 284. Sprawdźmy:

  • dzielniki właściwe liczby 220:

    • 1, 2, 4, 5, 10, 11, 20, 22, 44, 55, 110 – ich suma wynosi 284;

  • dzielniki właściwe liczby 284:

    • 1, 2, 4, 71, 142 – ich suma wynosi 220.

Załóżmy, że mamy dwie liczby naturalne: liczbaAliczbaB.

Parę liczb można nazwać zaprzyjaźnionymi, jeżeli suma dzielników właściwych liczbaA jest równa liczbaB, a suma dzielników właściwych liczbaB jest równa liczbaA.

Przykładem pary liczb zaprzyjaźnionych są 220 i 284, ponieważ:

  • dzielniki właściwe liczby 284 to: 1, 2, 4, 71, 142, które po zsumowaniu dają 220;

  • dzielniki właściwe liczby 220 to: 1, 2, 4, 5, 10, 11, 20, 22, 44, 55, 110, które po zsumowaniu dają 284.

Inne pary liczb zaprzyjaźnionych:

  • 1184 i 1210,

  • 2620 i 2924,

  • 5020 i 5564.

Kod programu:

Linia 1. package liczbyZaprzyjaznione średnik. Linia 3. import java kropka util kropka Scanner średnik. Linia 5. public class LiczbyZaprzyjaznione otwórz nawias klamrowy. Linia 7. public static void main otwórz nawias okrągły String otwórz nawias kwadratowy zamknij nawias kwadratowy args zamknij nawias okrągły otwórz nawias klamrowy. Linia 8. int liczba1Test znak równości 0 średnik. Linia 9. int liczba2Test znak równości 0 średnik. Linia 10. int sumaDzielnikow1 znak równości 0 średnik. Linia 11. int sumaDzielnikow2 znak równości 0 średnik. Linia 13. Scanner sc znak równości new Scanner otwórz nawias okrągły System kropka in zamknij nawias okrągły średnik. Linia 14. System kropka out kropka println otwórz nawias okrągły cudzysłów Podaj 1 kropka liczbę cudzysłów zamknij nawias okrągły średnik. Linia 15. liczba1Test znak równości sc kropka nextInt otwórz nawias okrągły zamknij nawias okrągły średnik. Linia 16. System kropka out kropka println otwórz nawias okrągły cudzysłów Podaj 2 kropka liczbę cudzysłów zamknij nawias okrągły średnik. Linia 17. liczba2Test znak równości sc kropka nextInt otwórz nawias okrągły zamknij nawias okrągły średnik. Linia 19. for otwórz nawias okrągły int i znak równości 1 średnik i otwórz nawias ostrokątny liczba1Test średnik i plus plus zamknij nawias okrągły otwórz nawias klamrowy. Linia 20. if otwórz nawias okrągły liczba1Test procent i znak równości znak równości 0 zamknij nawias okrągły otwórz nawias klamrowy. Linia 21. sumaDzielnikow1 plus znak równości i średnik. Linia 22. zamknij nawias klamrowy. Linia 23. zamknij nawias klamrowy. Linia 25. for otwórz nawias okrągły int i znak równości 1 średnik i otwórz nawias ostrokątny liczba2Test średnik i plus plus zamknij nawias okrągły otwórz nawias klamrowy. Linia 26. if otwórz nawias okrągły liczba2Test procent i znak równości znak równości 0 zamknij nawias okrągły otwórz nawias klamrowy. Linia 27. sumaDzielnikow2 plus znak równości i średnik. Linia 28. zamknij nawias klamrowy. Linia 29. zamknij nawias klamrowy. Linia 31. if otwórz nawias okrągły sumaDzielnikow1 znak równości znak równości liczba2Test ampersant ampersant sumaDzielnikow2 znak równości znak równości liczba1Test zamknij nawias okrągły otwórz nawias klamrowy. Linia 32. System kropka out kropka println otwórz nawias okrągły liczba1Test plus cudzysłów i cudzysłów plus liczba2Test plus cudzysłów SĄ liczbami zaprzyjaźnionymi cudzysłów zamknij nawias okrągły średnik. Linia 33. zamknij nawias klamrowy. Linia 34. else otwórz nawias klamrowy. Linia 35. System kropka out kropka println otwórz nawias okrągły liczba1Test plus cudzysłów i cudzysłów plus liczba2Test plus cudzysłów NIE SĄ liczbami zaprzyjaźnionymi cudzysłów zamknij nawias okrągły średnik. Linia 36. zamknij nawias klamrowy. Linia 37. zamknij nawias klamrowy. Linia 38. zamknij nawias klamrowy.
Polecenie 1

Napisz program, który wypisze liczby bliźniacze z zakresu <a, b>. Przetestuj jego działanie dla zakresu <2, 1000>.

Specyfikacja:

Dane:

  • a – liczba naturalna dodatnia; początek przedziału

  • b – liczby naturalna; koniec przedziału

Wynik:

Program na wyjściu standardowym wypisze wszystkie pary liczb bliźniaczych z zadanego zakresu.

Jakiego algorytmu użyjesz?

R1BwIef1WEOhn
Wybierz jedno nowe słowo poznane podczas dzisiejszej lekcji i ułóż z nim zdanie.
1
Ćwiczenie 1
R1SBG62VNHMEO
Rozwiązaniegreenwhite