Ciąg Fibonacciego i liczby pierwsze

0

Cześć. Chcę znaleźć wśród pierwszych 40 liczb Fibonacciego liczby pierwsze. Napisałem program, ale wynik z pewnością nie jest poprawny... Tutaj podsyłam link do kodu: Link. Zdaję sobie sprawę z tego,że mogę zrobić to za pomocą funkcji bool, liczby pierwsze ustawić na true a pozostałe na false i w ten sposób wybrać wszystkie z wartością 'true', ale zastanawia mnie, w którym miejscu popełniłem błąd... i czy, przede wszystkim, jestem na dobrej drodze do rozwiązania. :)

1

Zauważ, że w momencie, gdy napotykasz liczbę pierwszą, zerujesz aktualnie wyliczoną wartość elementu ciągu, co powoduje, że nie jesteś w stanie policzyć następnego.

0
Patryk27 napisał(a):

Zauważ, że w momencie, gdy napotykasz liczbę pierwszą, zerujesz aktualnie wyliczoną wartość elementu ciągu, co powoduje, że nie jesteś w stanie policzyć następnego.

To jest to. Dzięki! Ale chciałbym się jeszcze dowiedzieć, czy mój program będzie optymalny i czy w taki sposób można rozwiązywać takie problemy? Czy nie jest to najlepsze rozwiązanie? Zmieniony kod: Link

1

Na dłuższą metę nie jest wydajny:
1.Co każdy obrót pętli liczysz kwadrat i - jest to zbędne (w sensie: założenie dobre, tylko realizacja mało wydajna).
2.Sito Eratostenesa nie jest optymalne dla większych liczb.

1

Jako że czterdziesta liczba Fibonacciego jest rzędu stu tysięcy, to jako że jest w przedziale [25 326 001; 3 215 031 750], to szybkim i pewnym testem będzie Miller‑Rabin ze świadkami 2, 3, 5 i 7.

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