Python
2018-12-22
W pliku ciagi.txt w oddzielnych wierszach znajduje się 1000 różnych ciągów zerojedynkowych, każdy o długości od 2 do 18. Napisz program(-y), który pozwoli rozwiązać poniższe zadania.
Nasz kod musimy zacząć od wczytania i zinterpretowania danych z pliku.
W kolejnych linijkach odczytywane są dane oraz usuwane są białe znaki.
Lista z liczbami (series) dostępna jest z poziomu całego kodu.
Ciągiem dwucyklicznym będziemy nazywać taki ciąg zerojedynkowy w o długości parzystej, który składa się z dwóch fragmentów `w_1` oraz `w_2`, `w=w_1w_2` takich że `w_1 = w_2`. Podaj wszystkie ciągi dwucykliczne zapisane w pliku ciagi.txt.
Dla każdego wyrazu na początek sprawdzam czy jego długość jest liczbą parzystą. Dla tego, że tylko taki ciąg będzie można podzielić po równo na 2.
Następnie za pomocą list-comprehensions porównuję 1 i 2 połówkę ciągu.
Podaj liczbę ciągów z pliku ciagi.txt, w których nie występują obok siebie dwie jedynki.
W tym kodzie musimy sprawdzić, wszystkie litery (cyfry) z każdego ciągu.
Dla tego w pętli dla ciągu (serie) zagnieżdżam dodatkowo pętlę dla litery (i).
Jeżeli kod napotka taki etap że po 1 będzie również jeden to za pomocą break'a przejdzie do następnego wyrazu.
Jeżeli jednak nie znajdzie takiego układu i osiągnie koniec wyrazu to zwiększy licznik (counter) o 1.
Następne zadanie będzie wymagać wyszukania dzielników, które są liczbami pierwszymi.
Na początku potrzebna nam będzie funkcja, która odpowie czy funkcja jest liczbą pierwszą.
Po tym musimy także sprawdzić czy liczba składa się tylko z dzielników pierwszych.
W tym kodzie iteruję przez wszystkie dzielniki pierwsze mniejsze lub równe naszej liczbie (number).
Jeżeli taka liczba jest podzielna całkowicie to sprawdzam czy pozostałość jest również pierwsza.
Liczbą półpierwszą nazywamy taką liczbę, która jest iloczynem dwóch liczb pierwszych. Podaj, ile ciągów z pliku ciagi.txt jest reprezentacją binarną liczb półpierwszych. Dodatkowo podaj największą i najmniejszą liczbę półpierwszą w zapisie dziesiętnym.
Mając wcześniej napisane funkcje wystarczy tylko już sprawdzić, które liczby spełniają warunek oraz wypisać największą i najmniejszą.
Uruchamiamy kod i voilà!
Dziękuję Ci za przeczytanie tego materiału 😀 Jeżeli spodobało Ci się to o czym piszę, możesz sprawdzić więcej materiałów na blogu lub udostępnić znajomym. Będzie mi bardzo miło 😊
Jestem młodym programistą, który dumnie dzierży wiele pasji takich jak bieganie czy piwowarstwo domowe. Jedną z nich jest także programowanie i o tym właśnie zamierzam tutaj pisać.
Zachęcam Cię do odwiedzenia mojej strony na Google Play store i sprawdzenia wszystkich moich aplikacji.