Programowanie z elementami algorytmiki

Transkrypt

Programowanie z elementami algorytmiki
Programowanie z elementami algorytmiki
dr inż. Grzegorz Bazydło
[email protected], www.uz.zgora.pl/~gbazydlo
Lista zadań nr 4
Zadanie 1
Napisz program, który wyświetla na ekranie zadaną ilość wyrazów ciągu Fibonacciego.
Ciąg Fibonacciego to ciąg liczb naturalnych o właściwościach:
fib0= 0,
fib1 = 1,
fibn = fibn-1 + fibn-2 dla n ≥ 2
Początkowe wartości tego ciągu to: 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, …
Wynik działania:
Podaj ilosc wyrazow ciagu Fibonacciego: 12
Kolejne wyrazy ciagu to: 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89
Zadanie 2
Napisz program, który wczyta liczbę naturalną większą od 3 i wyświetli sumę kwadratów liczb od 1 do wczytanej liczby (np. dla 4 suma kwadratów wynosi 12+22+32+42=1+4+9+16=30). Jeżeli użytkownik poda liczbę mniejszą
niż 3 program powinien ponownie poprosić o podanie liczby.
Wynik działania:
Podaj liczbe wieksza
Podaj liczbe wieksza
Podaj liczbe wieksza
Suma kwadratow liczb
od 3: 2
od 3: 3
od 3: 4
w zakresie od 1 do 4 wynosi: 30
Zadanie 3
Zmodyfikuj program z zadania 2 tak, aby w kolejnych wierszach wyświetlał kolejną liczbę naturalną i sumę
kwadratów liczb od 1 do tej liczby. Obliczanie kwadratów liczb zamknij w oddzielnej funkcji wywoływanej z funkcji
main(). Zwróć także uwagę na wyrównanie liczb na ekranie.
Wynik działania:
Podaj liczbe wieksza od 3: 2
Podaj liczbe wieksza od 3: 19
Suma kwadratow liczb w zakresie od 1 do danej liczby:
1
1
2
5
3
14
4
30
5
55
6
91
7
140
8
204
9
285
10
385
11
506
12
650
13
819
14
1015
15
1240
16
1496
17
1785
18
2109
19
2470
1
Zadanie 4
Napisz program, który w podanym przez użytkownika okresie (lata od…do) wyświetli wszystkie lata przestępne. Następnie zmodyfikuj program tak, aby sprawdzanie czy rok jest przestępny odbywało się w oddzielnej
funkcji wywoływanej z funkcji main().
Wynik działania:
Podaj zakres lat: 1893 1910
Lata przestepne: 1896, 1904, 1908,
Zadanie 5 (domowe)
Napisz program, który wyświetli na ekranie choinkę. Skorzystaj z funkcji putch() (korzystanie z funkcji printf()
jest zabronione). Kod programu rysujący trójkąt na ekranie zamknij w oddzielną funkcję.
Wynik działania:
#
###
#####
#######
#########
#
###
#####
#######
#########
###########
#############
###############
#################
#
###
#####
#######
#########
###########
#############
###############
#################
###################
#####################
#######################
#########################
Zadanie 6 (domowe)
Trójka pitagorejska, to trzy liczby naturalne a, b, c (a<b<c), które spełniają równanie Pitagorasa: a2 + b2 = c2.
Przykłady trójek pitagorejskich: {3, 4, 5}, {5, 12, 13}, {6, 8, 10}, {7, 24, 25}.
Napisz program, który wypisze wszystkie trójki pitagorejskie w zadanym przedziale od 1 do podanej liczby.
Wynik działania:
Podaj prawy zakres: 20
Trojki pitagorejskie w przedziale od 1 do 20 to:
3 4 5
5 12 13
6 8 10
8 15 17
9 12 15
12 16 20
2
Zadanie 7 (bonus) – zadanie z konkursu „Potyczki algorytmiczne 2006” (autor: Jakub Radoszewski)
Na pierwszym kongresie Bajtockiego Towarzystwa Informatycznego uczestnicy zasiedli przy długim prostokątnym stole, wszyscy po tej samej stronie. Jeden z uczestników postawił pytanie, na ile sposobów siedzący mogą
uścisnąć sobie dłonie bez wstawania od stołu – w trakcie jednego takiego przywitania, każdy uczestnik może uścisnąć dłoń co najwyżej jednego innego uczestnika, który musi być jego sąsiadem przy stole.
Ponieważ uczestnicy kongresu są informatykami teoretykami, poprosili Ciebie o napisanie programu, który
policzy dla nich tę liczbę sposobów. Żeby nie operować dużymi liczbami wystarczy, jeżeli podasz im ostatnią cyfrę
wyniku.
Napisz program który:
 wczyta liczbę uczestników kongresu,
 wyznaczy ostatnią cyfrę liczby różnych sposobów uścisków dłoni przez uczestników kongresu,
 wypisze wynik.
Wejściem do programu jest jedna liczba całkowita oznaczająca liczbę uczestników kongresu.
Wyjściem z programu jest jedna cyfra – ostatnia cyfra szukanej liczby możliwych sposobów uścisków dłoni.
Przykład
Dla danych wejściowych: 4 poprawną odpowiedzią jest: 5.
Wszystkie poprawne sposoby uścisków dłoni dla 4 uczestników kongresu (5 sposobów):
Źródło: main.edu.pl/pl/archive/pa/2006/kon
3

Podobne dokumenty