Napisz program, który obliczy sumę n kolejnych liczb naturalnych z użyciem rekurencji.
Przetestuj działanie programu dla n = 10.
Specyfikacja:
Dane:
n – liczba naturalna
Wynik:
Program wyświetla sumę kolejnych liczb naturalnych z przedziału <1, n>.
R1KHVkIebzNz6
Linia 1. kratka include otwórz nawias ostrokątny iostream zamknij nawias ostrokątny.
Linia 2. using namespace std średnik.
Linia 4. int suma otwórz nawias okrągły int n zamknij nawias okrągły.
Linia 5. otwórz nawias klamrowy.
Linia 6. if otwórz nawias okrągły n otwórz nawias ostrokątny 1 zamknij nawias okrągły.
Linia 7. return 0 średnik.
Linia 9. return n plus suma otwórz nawias okrągły n minus 1 zamknij nawias okrągły średnik.
Linia 10. zamknij nawias klamrowy.
Linia 12. int main otwórz nawias okrągły zamknij nawias okrągły.
Linia 13. otwórz nawias klamrowy.
Linia 14. int n znak równości 10 średnik.
Linia 15. cout otwórz nawias ostrokątny otwórz nawias ostrokątny suma otwórz nawias okrągły n zamknij nawias okrągły otwórz nawias ostrokątny otwórz nawias ostrokątny endl średnik.
Linia 17. return 0 średnik.
Linia 18. zamknij nawias klamrowy.
21
Ćwiczenie 2
Napisz program, który wygeneruje n‑te słowa Fibonacciego oddzielone znakiem nowej linii. Kolejne wartości n podane są w tablicy.
Słowa Fibonacciego tworzone są według następującej zasady:
Gdzie oznacza konkatenację słowa ze słowem – łączymy słowo oraz , przy czym słowo występuje na pierwszej pozycji.
Przykład:
Przetestuj działanie programu dla tablicy n o następującej zawartości: {3, 1, 9, 10, 6}.
Specyfikacja:
Dane:
n – tablica liczb naturalnych dodatnich
Wynik:
Program wyświetla w kolejnych wierszach słowa Fibonacciego o właściwych numerach.
RwTxET6jHy86X
Linia 1. kratka include otwórz nawias ostrokątny iostream zamknij nawias ostrokątny.
Linia 2. kratka include otwórz nawias ostrokątny string zamknij nawias ostrokątny.
Linia 3. using namespace std średnik.
Linia 5. string F otwórz nawias okrągły int i zamknij nawias okrągły otwórz nawias klamrowy.
Linia 6. if otwórz nawias okrągły i znak równości znak równości 1 zamknij nawias okrągły.
Linia 7. return cudzysłów b cudzysłów średnik.
Linia 8. else if otwórz nawias okrągły i znak równości znak równości 2 zamknij nawias okrągły.
Linia 9. return cudzysłów a cudzysłów średnik.
Linia 10. return F otwórz nawias okrągły i minus 1 zamknij nawias okrągły plus F otwórz nawias okrągły i minus 2 zamknij nawias okrągły średnik.
Linia 11. zamknij nawias klamrowy.
Linia 13. int main otwórz nawias okrągły zamknij nawias okrągły otwórz nawias klamrowy.
Linia 14. int n otwórz nawias kwadratowy 5 zamknij nawias kwadratowy znak równości otwórz nawias klamrowy 3 przecinek 1 przecinek 9 przecinek 10 przecinek 6 zamknij nawias klamrowy średnik.
Linia 16. for otwórz nawias okrągły int i znak równości 0 średnik i otwórz nawias ostrokątny 5 średnik i plus plus zamknij nawias okrągły otwórz nawias klamrowy.
Linia 17. cout otwórz nawias ostrokątny otwórz nawias ostrokątny F otwórz nawias okrągły n otwórz nawias kwadratowy i zamknij nawias kwadratowy zamknij nawias okrągły otwórz nawias ostrokątny otwórz nawias ostrokątny endl średnik.
Linia 18. zamknij nawias klamrowy.
Linia 20. return 0 średnik.
Linia 21. zamknij nawias klamrowy.
31
Ćwiczenie 3
Napisz program, który – używając funkcji rekurencyjnej – skróci ułamek. Przetestuj swój program dla ułamka o liczniku 8, przechowywanym w zmiennej x i mianowniku 40 zawartym w zmiennej y.
Specyfikacja:
Dane:
x – licznik, liczba całkowita
y – mianownik, liczba całkowita
Wynik:
licznik – liczba całkowita
mianownik – liczba całkowita
Przykładowe wyjście:
Linia 1. 1 prawy ukośnik 5.
RF8SZz3iVTwvz
Linia 1. kratka include otwórz nawias ostrokątny iostream zamknij nawias ostrokątny.
Linia 2. using namespace std średnik.
Linia 4. int NWD otwórz nawias okrągły int a przecinek int b zamknij nawias okrągły otwórz nawias klamrowy.
Linia 5. if otwórz nawias okrągły b wykrzyknik znak równości 0 zamknij nawias okrągły.
Linia 6. return NWD otwórz nawias okrągły b przecinek a procent b zamknij nawias okrągły średnik.
Linia 8. return a średnik.
Linia 9. zamknij nawias klamrowy.
Linia 11. int main otwórz nawias okrągły zamknij nawias okrągły otwórz nawias klamrowy.
Linia 12. int x znak równości 8 średnik.
Linia 13. int y znak równości 40 średnik.
Linia 15. int wartoscNWD znak równości NWD otwórz nawias okrągły x przecinek y zamknij nawias okrągły średnik.
Linia 17. int licznik znak równości x prawy ukośnik wartoscNWD średnik.
Linia 18. int mianownik znak równości y prawy ukośnik wartoscNWD średnik.
Linia 20. cout otwórz nawias ostrokątny otwórz nawias ostrokątny licznik otwórz nawias ostrokątny otwórz nawias ostrokątny cudzysłów prawy ukośnik cudzysłów otwórz nawias ostrokątny otwórz nawias ostrokątny mianownik średnik.
Linia 21. zamknij nawias klamrowy.