Napisanie funkcji rekurencyjnej

Odpowiedz Nowy wątek
2019-05-26 13:25
0

Dana jest funkcja zadana w sposób rekurencyjny :
M(n)= n-10 , dla n>100
M(n)=M(M(n+11)) , dla n<=100

Napisz program( w języku C), który wyświetli na ekranie wartości funkcji M dla wszystkich liczb naturalnych od 1 do 101, oddzielając wyniki przecinkami. Ktoś pomoże ?

edytowany 1x, ostatnio: kq, 2019-05-26 13:26

Pozostało 580 znaków

2019-05-26 13:27
kq
1

Nie jest to trywialny problem, ale spróbuję Ci pomóc. Czy to całość zadania?


Pokaż pozostałe 2 komentarze
Nie, może być na później - Kate321 2019-05-26 13:31
Ok. Pokaż co już masz zrobione, postaramy się pomóc. - kq 2019-05-26 13:32
Szczerze to nie ruszyłam z tego nic. - Kate321 2019-05-26 13:35
No to do dzieła, chętnie wskażemy błędy i powiemy jak poprawić! - kq 2019-05-26 13:37
Wezmę się za to póżniej i wstawię jak coś. - Kate321 2019-05-26 13:39

Pozostało 580 znaków

2019-05-26 15:39
0

Ja bym przepisał rekurencję na kod, bo co tu można innego wymyślić.

#include <stdio.h>

int M(int n) {
    if (n < 101) {
        return M(M(n + 11));
    }
    else
        return n - 10;
}

int main() {
        for (int i = 1; i < 102; i++)
            printf("%d, ", M(i));
    return 0;
}

Można wymyślić niedawanie gotowców... - kq 2019-05-27 07:00
Zepsułeś zabawę. Chciałem podać rozwiązanie używające tylko rekurencji (włącznie z implementacją aksjomatyki Peano) - hauleth 2019-05-27 10:01
O matko, ale gdzies na forum cos takiego wrzucalem. - lion137 2019-05-27 10:46

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0