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 bliźniacze

Inną interesującą grupą są liczby bliźniacze. Są to pary liczb pierwszych, których różnica jest równa 2. Przykładami takich par będą:

  • 3 i 5,

  • 5 i 7,

  • 11 i 13,

  • 17 i 19,

  • 857 i 859.

Problem 1

Napiszmy algorytm w postaci pseudokodu, który sprawdzi, czy dane dwie liczby liczba1 oraz liczba2 są liczbami bliźniaczymi.

Specyfikacja:

Dane:

  • liczba1 – liczba do sprawdzenia; liczba naturalna

  • liczba2 – liczba do sprawdzenia; liczba naturalna

Wynik:

Program wypisuje komunikat Liczby są parą liczb bliźniaczych lub Liczby nie są parą liczb bliźniaczych.

Oto zapisany za pomocą pseudokodu algorytm sprawdzający, czy dwie zadane liczby są liczbami bliźniaczymi:

Linia 1. funkcja czyPierwsza otwórz nawias okrągły liczba zamknij nawias okrągły dwukropek. Linia 2. jeżeli liczba otwórz nawias ostrokątny znak równości 1 dwukropek. Linia 3. zwróć fałsz. Linia 4. w przeciwnym razie dwukropek. Linia 5. i ← 2. Linia 6. dopóki i asterysk i otwórz nawias ostrokątny znak równości liczba dwukropek. Linia 7. jeżeli liczba mod i znak równości 0 dwukropek. Linia 8. zwróć fałsz. Linia 9. i ← i plus 1. Linia 10. zwróć prawda. Linia 12. funkcja wartośćBezwzględna otwórz nawias okrągły liczba zamknij nawias okrągły dwukropek. Linia 13. jeżeli liczba otwórz nawias ostrokątny 0 dwukropek. Linia 14. zwróć minus liczba. Linia 15. w przeciwnym razie dwukropek. Linia 16. zwróć liczba. Linia 18. liczba1 ← wprowadź liczbę. Linia 19. liczba2 ← wprowadź liczbę. Linia 21. jeżeli wartośćBezwzględna otwórz nawias okrągły liczba1 minus liczba2 zamknij nawias okrągły znak równości 2 dwukropek. Linia 22. jeżeli czyPierwsza otwórz nawias okrągły liczba1 zamknij nawias okrągły znak równości prawda dwukropek. Linia 23. jeżeli czyPierwsza otwórz nawias okrągły liczba2 zamknij nawias okrągły znak równości prawda dwukropek. Linia 24. wypisz cudzysłów Liczby są parą liczb bliźniaczych cudzysłów. Linia 25. w przeciwnym razie dwukropek. Linia 26. wypisz cudzysłów Liczby nie są parą liczb bliźniaczych cudzysłów. Linia 27. w przeciwnym razie dwukropek. Linia 28. wypisz cudzysłów Liczby nie są parą liczb bliźniaczych cudzysłów. Linia 29. w przeciwnym razie dwukropek. Linia 30. wypisz cudzysłów Liczby nie są parą liczb bliźniaczych cudzysłów.

Funkcja czyPierwsza() sprawdza, czy dana liczba jest liczbą pierwszą. Jeśli tak, zwraca wartość prawda. Wykorzystuje ona algorytm przedstawiony w sekcji powyżej.

Funkcja wartośćBezwzględna() zwraca wartość bezwzględną z danej liczby.

Na początku sprawdzamy, czy różnica między liczbami wynosi 2. Jeżeli tak, to sprawdzamy, czy liczby są liczbami pierwszymi. W takim wypadku wiemy, że podane liczby są liczbami bliźniaczymi.