Własności liczb [2020] [PR]
W pliku dane.txt znajduje się 5000 liczb całkowitych z zakresu od 100 do 100000, zapisanych po jednej w wierszu. Każda liczba występuje w pliku tylko jeden raz.
Do Twojej dyspozycji jest pomocniczy plik dane_przyklad.txt, zawierający 500 liczb z zakresu od 100 do 100000 (po jednej w wierszu), który możesz wykorzystać, aby sprawdzić poprawność działania swoich programów.
Napisz programy, w wyniku działania których otrzymasz odpowiedzi do poniższych zadań.
Pliki źródłowe z rozwiązaniem zapisz pod nazwą zgodną z numerem zadania, z rozszerzeniem odpowiadającym użytemu narzędziu informatycznemu.
Zadanie 4.1. (3 pkt)
Podaj, ile wśród liczb zapisanych w pliku dane.txt jest liczb pierwszych, oraz podaj największą i najmniejszą z nich. Odpowiedź zapisz w pliku wyniki4_1.txt.
Prawidłowa odpowiedź dla pliku dane_przyklad.txt:
Liczba liczb pierwszych: 47
Największa liczba: 97501
Najmniejsza liczba: 1669
Zadanie 4.2. (3 pkt)
Palindromem nazywamy słowo, które czytane od lewej i od prawej jest takie samo.
Dodatnią liczbę całkowitą nazywamy palindromiczną, jeśli zapis binarny tej liczby z najbardziej znaczącym bitem równym 1 jest palindromem.
Przykład:
Liczba 107 jest palindromiczna – jej zapis binarny ma postać 11010112 i jest palindromem.
Natomiast liczba 115 nie jest palindromiczna, ponieważ jej zapis w systemie dwójkowym ma postać 11100112 i nie jest palindromem.
Dodatnią liczbę całkowitą nazywamy prawie palindromiczną, jeśli jej zapis binarny (z najbardziej znaczącym bitem równym 1) uzupełniony o 0 (jedno lub więcej niż jedno) przed najbardziej znaczącą 1 jest palindromem.
Przykład:
zapis liczby 238 w systemie dwójkowym ma postać 11101110 – nie jest palindromem, zatem liczba 238 nie jest palindromiczna. Jednakże zapis 011101110 jest palindromem. Zatem 238 jest liczbą prawie palindromiczna.
Podobnie zapis liczby 476 w systemie dwójkowym to 111011100 – więc 476 nie jest liczbą palindromiczną. Jednak zapis 00111011100 jest palindromem, więc 476 jest liczbą prawie palindromiczną.
Podaj łączną liczbę wystąpień liczb palindromicznych i prawie palindromicznych w pliku dane.txt. Odpowiedź zapisz w pliku wyniki4_2.txt.
Prawidłowa odpowiedź dla pliku dane_przyklad.txt: 10
Do pobrania: