Zadanie 1 Napisz funkcje, ktora dla liczby calkowitej dodatniej zwroci iloczyn dwoch (roznych) najwiekszych liczb pierwszych, o ile takie istnieja i 1 w przeciwnym przypadku. Zadanie 2 Napisz funkcje, ktora majac trzy tablice dlugosci n liczb calkowitych dodatnich uporzadkowane niemalejaco zwroci liczbe powtarzajaca sie we wszystkich trzech tablicach o ile taka istnieje i 0 jesli nie ma takiej liczby. Preferowane rozwiazanie o zlozonosci O(n) Zadanie 3 Napisz funkcje, ktora majac plik tekstowy i litere (char) zwroci liczbe slow zaczynajacych sie na ta litere. Dla chetnych: Modyfikacja zadania 2: tablice sa czytane z pliku tekstowego ======================================================================= ======================================================================= Zad 1. Dana jest tablica A[n] liczb calkowitych. Skonstruowac tablice B[m] taka, ze B[i]= liczba elementow tablicy A, ktore sa <=i. Zad 2. Dane sa 3 tablice posortowane rosnaco: A[n1],B[n2],C[n3]. Napisac funkcje, ktora policzy ile jest takich liczb, ktore wystepuja we wszystkich 3 tablicach. Zad 3. Napisz procedure w C, ktora przepisze plik tekstowy do drugiego pliku usuwajac nadmiar spacji. Wewnatrz linii ciagi spacji i wszystkie tabulatory zastapi jedna spacja. Na poczatkach i koncach linii usunie wszystkie spacje i tabulatory. Zad 4. Napisz program w C, ktory zwroci najdluzszy palindrom z pliku "dane.txt". Palindrom jest to slowo, ktore czytane zarowno od lewej brzmi tak samo. Na przyklad "kajak", "owocowo", "potop". ===================== ZADANIA TRUDNIEJSZE Zad 5. Palindrom slowny wcale nie musi byc ograniczony do jednego wyrazu: "daj oso jad" "Kobyla ma maly bok" Napisz program, ktory potrafi odnajdywac i takie przypadki. Zad 6. Korzystajac z wiedzy zdobytej w zadaniu 4 i 5 napisz program rozwiazujacy podobny problem (problem ten jest bardzo istotny od strony praktycznej w biologii/bioinformatyce). Nawiazujac do naszych cwiczen dotyczacych genomu czlowieka (https://www.mimuw.edu.pl/~lukaskoz/teaching/wi/lab7/) zadanie polega na znalezieniu najdluzszych palindromow w kazdym chromosomie czlowieka. Uwaga: Sekwencja palindromiczna w DNA jest definiowana w nastepujacy sposob: 5'- G A A T T C -3' 3'- C T T A A G -5' Wiecej: https://en.wikipedia.org/wiki/Palindromic_sequence W praktyce oznacza to, ze w pierwszym kroku musimy sami wytworzyc nic komplementarna. Zakladamy, ze szukamy idealnych palindromow (czasem uzyteczne bywa takze odnajdywanie niedoskonalych palindromow np. zezwalamy na okreslona (mala) liczbe rozniacych sie liter) Uwaga praktyczna: zanim zaczniesz pracowac na calych chromosomach czlowieka (sa one dosc dlugie) przetestuj program na pojedynczej lini, lub na pierwszych 1k, 10k zasad. Dodatkowo do pierwszych testow mozesz wykorzystac takze mniejsze genomy: https://www.mimuw.edu.pl/~lukaskoz/teaching/wi/lab13/GCA_009858895.3.fasta (SARS-CoV-2) https://www.mimuw.edu.pl/~lukaskoz/teaching/wi/lab13/GCA_000017745.1.fasta (E. coli)