WSTEP DO INFORMATYKI I PROGRAMOWANIA LISTA 5. C++ PETLE for, while, do while Zadanie. Przeanalizuj działanie poniższego programu. cout<<"podaj liczbe naturalna n= "; for(int i=; i<=n; i++) cout<<i", "; Zadanie 2. Zmodyfikuj program z poprzedniego zadania, tak aby wyświetlał: a. kwadraty kolejnych liczb naturalnych od do n. b. kwadraty kolejnych liczb naturalnych, w odwrotnej kolejności, od n do. Zadanie 3. Napisz program obliczający dla liczby naturalnej n poniższe sumy: a. c. e. k = + 2 + 3 + + n b. k = + 2 + 3 + + n k k + = 3 + 2 4 + 3 5 + + n n + d. f. k 2 = 2 + 2 2 + 3 2 + + n 2 k 3 = 3 + 2 3 + 3 3 + + n 3 2k + = 3 + 5 + 7 + + 2n + Zadanie 4 (Przybliżanie wartości stałej Eulera γ). Napisz program, który dla liczby naturalnej n wyznacza wartość wyrażenia + 2 + + ln n. n Wyświetlaj wynik z punktu c. z dokładnością do 40 cyfr po przecinku. Zadanie 5. Napisz program, który dla danej liczby naturalnej n oblicza a. 2 n = 2 2 2 n razy b. 2 i = 2 0 + 2 + + 2 n.
Zadanie 6. Zmodyfikuj program z poprzedniego zadania, tak aby dla liczby naturalnej n i liczby rzeczywistej niezerowej x program obliczał: a. x n = x x x b. x i = x 0 + x + + x n. n razy Zadanie 7. Napisz program, który dla liczby naturalnej n, oblicza a. n! = 2 n b. i! = 0! +! + + n! Zadanie 8 (Przybliżanie wartości liczby Eulera e). Napisz program, który dla liczby naturalnej n wyznacza wartość wyrażenia i! = 0! +! + + n!. Wyświetlaj wynik z dokładnością do 45 cyfr po przecinku. Zadanie 9 (Przybliżanie wartości funkcji e x ). Napisz program, który dla danych liczb: naturalnej N i rzeczywistej niezerowej x oblicza wartość wyrażenia: N x i i! = x0 0! + x! + x2 2! + + xn n!. Zadanie 0. Napisz program, który dla liczby n wyznacza n ty wyraz ciągu Fibonacciego. Zadanie. Napisz program, który dla danej liczby naturalnej n oblicza przybliżoną wartość 2 z dokładnością do n miejsc po przecinku. Zadanie 2. Zmodyfikuj program z poprzedniego zadania, tak aby obliczał przybliżoną wartość pierwiastka kwadratowego dla dowolnej dodatniej liczby rzeczywistej x z dokładnością do n liczb po przecinku. Zadanie 3 (Przybliżanie wartości liczby Eulera e). Wykorzystując nierówność ( 0 < e + ) n < 3 dla n =, 2, 3,... n n napisz program, który dla danej liczby naturalnej m oblicza przybliżenie liczbę Eulera e z dokładnością do m miejsc po przecinku. Zadanie 4. Napisz program, który dla liczby naturalnej n wyświetla a. linie złożoną z n gwiazdek. b. kwadrat złożony z n 2 gwiazdek. c. trójkąt prostokątny równoramienny o przyprostokątnej złożonej z n gwiazdek. Zadanie 5. Napisz program, który wyświetla tabliczkę mnożenia do 0. Zadanie 6. Napisz program, który sprawdza pierwszość liczby naturalnej. Zadanie 7. Napisz program, który a. dla liczby naturalnej oblicza sumę jej naturalnych dzielników. b. sprawdza czy liczba naturalna jest doskonała. c. sprawdza czy liczba naturalna jest liczbą Amstronga. Zadanie 8. Napisz program, który sprawdza czy para liczb naturalnych jest zaprzyjaźniona. Zadanie 9. Napisz program, który dla liczby naturalnej n wypisuje wszystkie liczby pierwsze z przedziału, n.
Zadanie : 20. Napisz program, który dla liczby naturalnej n oblicza wartość funkcji π(n), która podaje liczbę liczb pierwszych z przedziału, n. Dodatkowo program podaje błąd bezwzględny i względny przybliżenia wartości funkcji π(n) przez wartość funkcji n ln(n). Zadanie 2. Napisz program, który dla liczby naturalnej n wypisuje wszystkie pary liczb bliźniaczych z przedziału, n. Zadanie 22. Postulat Bertranda głosi, że dla każdej liczby naturalnej n w przedziale (, 2n istnieje liczba pierwsza. Napisz algorytm, który sprawdza prawdziwość tego postulatu dla podanej liczby naturalnej n. Zadanie 23. Napisz program, który sprawdza prawdziwość postulatu Bertranda dla wszystkich liczb 4000. Zadanie 24. Przeanalizuj działanie poniższego programu. cout<<"podaj liczbe całkowita: "; int liczni; while(n!=0) cout<<"podaj "<<licznik++<<" liczbe: "; cout<<"wpisanych liczb jest "<<licznik; Zadanie 25. Napisz program, który wczytuje kolejne liczby, aż do podania liczby 0. Program oblicza sumę z podanych liczb. Zadanie 26. Zmodyfikuj program z poprzedniego zadania, tak aby obliczał średnią arytmetyczną z dodatnich liczb podanych przez użytkownika. Zadanie 27. Napisz program, który wczytuje kolejne liczby, aż do podania liczby 0. Program podaje największa i najmniejsza liczbę z wczytanych liczb. Zadanie 28. Napisz program algorytm Euklidesa, który oblicza największy wspólny dzielnik z dwóch liczb całkowitych. Zadanie 29. Napisz program, który dla liczby naturalnej poda liczbę jej cyfr. Zadanie 30. Napisz program, który dla liczby naturalnej wypisuje (od końca) jej kolejne cyfry oddzielone przecinkami. Zadanie 3. Napisz program, który dla liczby naturalnej oblicza sumę jej kolejnych cyfr. Zadanie 32. Napisz program, który sprawdza czy liczba naturalna ma więcej cyfr parzystych, czy nieparzystych. Zadanie 33. Napisz program, który dla liczby rzeczywistej x podaje najmniejszą liczbę pierwszą większą od x.
Zadanie 34. Napisz program, który dla danej liczby rzeczywistej x zwraca najmniejszą liczbę N spełniającą warunek: N i > x. Uzasadnij, że taka liczba N zawsze istnieje. i= Zadanie 35. Napisz program, który dla pary liczb naturalnej (p, g) rozkłada ułamek p q na sumę ułamków postaci n (podaje rozkład egipski ułamka p q ). Przykład: Dla p=q= algorytm wyświetli: / = /2 + /3 + /6. Zadanie 36. Napisz program, który dla liczby trzycyfrowej K generuje ciąg Keitha (k n ), określony w następujący sposób: (i) pierwsze 3 wyrazy: k, k 2, k 3 są kolejnymi cyframi liczby K. (ii) każdy następny wyraz jest sumą 3 poprzednich wyrazów tego ciągu. Wypisujemy liczby tego ciągu, aż do momentu pojawienia się liczby większej lub równej wyjściowej liczbie K. Przykład: Dla liczby 97 otrzymujemy ciąg: k = k 2 = 9 k 3 = 7 k 4 = 7 (7 = + 9 + 7) k 5 = 33 (33 = 9 + 7 + 7) k 6 = 57 (57 = 7 + 7 + 33) k 7 = 07 (07 = 7 + 33 + 57) k 7 = 97 (97 = 57 + 07 + 97) Zadanie 37. Liczbę K nazywamy liczbą Keitha, gdy jest ostatnim wyrazem swojego ciągu Keitha. Napisz program, który sprawdza czy trzycyfrowa liczba podana przez użytkownika jest liczbą Keitha. Przykład: Liczba 97 jest liczbą Keitha. Zadanie : 38. Napisz program, który wypisuje wszystkie trzycyfrowe liczby Keitha. Zadanie 39. Napisz program, który a. liczbę naturalna n zapisuje w postaci ułamka łańcuchowego. : dla pary liczb naturalnych (p, q) zapisuje ułamek p q w postaci ułamka łańcuchowego. Zadanie 40. Napisz program, który dla liczby niekwadratowej d: a. znajdzie najmniejsze naturalne rozwiązanie równania Pella x 2 dy 2 =. : wygeneruje n pierwszych rozwiązań równania Pella x 2 dy 2 =. Zadanie 4. Przeanalizuj działanie poniższego programu.
cout<<"podaj liczbe naturalna n= "; do cout<<"podaj liczbe dodatnia: "; while(n<=0) cout<<"liczba dodatnia n wynosi: "<<n; Zadanie 42. Zmodyfikuj poniższe zadania, aby program a. przerywał działanie dopiero po podaniu przez użytkownika liczby z przedziału ( 4; 5. b. wczytywał znaki, aż do wpisania litery e lub E. Zadanie 43. Napisz program kalkulator, który dla pary liczb, będzie obliczał ich sumę, różnicę, iloczyn lub iloraz, w zależności od wyboru użytkownika. Ponadto program będzie powtarzał działanie, aż do momentu wpisania przez użytkownika litery e lub E. Zadanie : 44. Na zbiorze Q + określamy dwie funkcje m, l : Q + Q + wzorami: p m p q p + q, p l p + q. q q Wtedy zaczynając od liczby =, poprzez wielokrotne stosowanie funkcji m i l możemy otrzymać każdą liczbę ze zbioru Q + (dlaczego?). Napisz program, który dla pary liczb naturalnych (p, q) pokaże jak zaczynając z ułamkiem otrzymać ułamek p q, przy użyciu funkcji m i l. Przykład: Dla pary liczb $(3,8)$ algorytm wyświetli: / --m--> /2 --l--> 3/2 --m--> 3/5 --m--> 3/8