• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Zadanie maturalne z rekurencją w postaci programu.

Object Storage Arubacloud
0 głosów
975 wizyt
pytanie zadane 1 sierpnia 2016 w C i C++ przez Fluskys Nowicjusz (230 p.)
edycja 1 sierpnia 2016 przez Fluskys

Witam, zastanawiam się jak wykonać to zadanie w postaci programu C++

Próbowałem zrobić coś takiego ale zwraca błąd więc coś jest źle:

#include <iostream>
#include <cmath>
using namespace std;

int rekurencja(int n)
{
    if (n==1) return 4;
    else return 1/(1-rekurencja(n-1));
}

int main()
{
    cout<<rekurencja(10);
    return(0);
}

Jest jakiś mały błąd czy cały program jest źle napisany?

2 odpowiedzi

+2 głosów
odpowiedź 1 sierpnia 2016 przez MetRiko Nałogowiec (37,110 p.)

Dodam od siebie, że to zadanie można zrobić w C++ bez rekurencji.. wystarczy sprawdzić wyniki dla czterech kolejnych wartości (od jedynki w górę):
n | f(n)
--------
1 | 4
2 | -1/3
3 | 3/4
4 | 4

Łatwo stwierdzić, że wartości będą się powtarzać cyklicznie.
Teraz wystarczy zrobić prostą funkcję opierającą się na switch'u i reszcie z dzielenia:

float Funkcja(int n)
{
    switch(n%3)
    {
        case 0: return 4.0f;
        case 1: return -1.0f/3.0f;
        case 2: return 3.0f/4.0f;
    }
}

 

komentarz 1 sierpnia 2016 przez Fluskys Nowicjusz (230 p.)
Zgadza się, doszedłem do tego że wartości bedą powtarzać się cyklicznie, jednak chciałbym mieć przykład z rekurencją, po prostu chce to wiedzieć jak to by wtedy wyglądało :)

Ale dzięki za wkład.
+1 głos
odpowiedź 1 sierpnia 2016 przez Szykem2 Nałogowiec (29,510 p.)
Po pierwsze linia 8 błąd jest w tym, że dodałeś 'int' przy przekazywaniu parametru, powinien być błąd "typename is not allowed". Po drugie po co pobierana jest zmienna w linii 14 skoro nigdzie jej nie używasz?
komentarz 1 sierpnia 2016 przez Fluskys Nowicjusz (230 p.)
Chciałem przekazywać przez referencje, zapomniałem usunać lini 14

edit: usunąłem 13 i 14

Podobne pytania

0 głosów
3 odpowiedzi 530 wizyt
pytanie zadane 21 sierpnia 2016 w C i C++ przez kkiermasz Użytkownik (680 p.)
0 głosów
1 odpowiedź 790 wizyt
pytanie zadane 26 stycznia 2017 w C i C++ przez Matt987 Użytkownik (800 p.)
+1 głos
1 odpowiedź 3,299 wizyt

92,579 zapytań

141,432 odpowiedzi

319,664 komentarzy

61,964 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...