Python
2019-03-25
Arkusz z zadaniem znajdziesz tutaj:
Matura_Zbiór_zadań_Informatyka
Repozytorium z danymi i rozwiązaniem:
Github
W pliku trojki.txt w oddzielnych wierszach znajduje się 1000 trójek liczb naturalnych z przedziału od 1 do 550000000. W każdym wierszu są umieszczone trzy liczby rozdzielone pojedynczymi odstępami.
Dane odczytujemy z pliku. Za pomocą metody split() z danych rozdzielonych spacją tworzymy tablicę trójelementową.
Każda z tablic reprezentuję jedną trójkę
z danej linii. Wszystkie trójki przechowuje tablica trios.
Kolejno tworzymy tablice cyfr dla dwóch liczb z trójki.
Jeżeli suma cyfr z tablic spełnia warunek to wypisujemy całą trójkę.
Wypisz wszystkie wiersze z pliku trojki.txt zawierające takie trzy liczby a, b, c, w których a i b są liczbami pierwszymi oraz c = a · b.
Nasze liczby przechowywane są jako ciągi tekstowe, więc warto na początku je zarzutować na int.
Do sprawdzenia wykorzystujemy najprostszy algorytm na liczbę pierwszą. Później zostaje już tylko sprawdzenie warunków i wypisanie trójki.
Wypisz z pliku trojki.txt wszystkie pary sąsiadujących ze sobą wierszy, takie że liczby w tych wierszach są długościami boków trójkątów prostokątnych.
Na początku całą trójkę rzutujemy na int. W funkcji isSquareTriangle sprawdzamy warunek trójkąta prostokątnego za pomocą Twierdzenia Pitagorasa.
Warto zauważyć, że przeciwprostokątną znajdujemy za pomocą funkcji max(). Potęgę uzyskujemy funkcją pow()
Podaj, ile jest w pliku trojki.txt wierszy, w których znajdują się liczby reprezentujące długości boków trójkąta. Ciąg wierszy nazywamy trójkątnym, jeśli liczby w każdym wierszu reprezentują długości boków trójkąta. Podaj długość najdłuższego ciągu trójkątnego w pliku.
W tym przykładzie zliczamy wystąpienia trójkąta z wykorzystaniem funkcji isTriangle(). Funkcja ta jest podobna do tej na trójkąt prostokątny jedynie zmieniony jest warunek końcowy.
Trójkąt istnieje wtedy, kiedy bok tego trójkąta jest mniejszy od sumy pozostałych.
Wystąpienie trójkąta jest reprezentowane jedynką w tablicy sequences. Funkcja findLongestSequence() wyszukuje jaki jest najdłuższy ciąg jedynek.
Teraz już pozostaje wywołać nasz kod:
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.