Odpowiedź :
Odpowiedź
Kod źródłowy jest w pierwszym załączniku. W drugim podałam jak wyglądają przykładowe wyniki uruchomienia.
Wynik uzyskałam na platformie replit. Wynik jest identyczny na wszystkich platformach na których int to int32.
Funkcja prosty_fibonacci liczy liczby Fibonacciego prosto z definicji: kolejna liczba to suma dwóch poprzednich, czyli F(n) = F(n - 1) + F(n - 2).
Nieoczywiste może być znaczenie wierszy 7-9. Otóż zanim obliczam kolejną liczbę Fibonacciego sprawdzam czy po dodaniu do siebie przypadkiem nie przekroczę maksymalnej liczby w typie int. Jeśli widzę, że bym przekroczyła, to kończę program odpowiednim komunikatem. Natomiast exit(EXIT_SUCCES) jest to coś czego się używa gdy się kończy program wewnątrz funkcji. (Tak po prostu jest.)
Program sprawdzający czy liczba jest pierwsza też jest prosty, bo prymitywnie po kolei usiłuje podzielić.
Program główny mam nadzieję, że wygląda prosto i zrozumiale. :-) Po kolei w nieskończonej pętli liczone są kolejne liczby Fibonacciego i po każdym wyliczeniu sprawdzam czy jest to liczba pierwsza. Jeśli jest, to jest ona drukowana.
Pętla jest nieskończona ponieważ program zostanie zakończony z wnętrza funkcji prosty_fibonacci.
Wyjaśnienie
Jeżeli zamiast int konsekwentnie użyłabym unsigned int, to program znalazłby jeszcze jedna taką liczbę. A jeśli zamiast int użyłabym long long int albo unsigned long long int, to program znalazłby dwie więcej.