![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 267 Pomógł: 1 Dołączył: 10.08.2007 Ostrzeżenie: (0%) ![]() ![]() |
Znalazłem taki skrypt do sprawdzania liczby pierwszaej
Troszkę go zmodyfikowałem(kod poniżej)
Oczywiście mój kod nie działa. Czy mógłby mi ktoś wytłumaczyć dlaczego? Ja go rozumiem tak, że sprawdza wynik dzielenia modulo, jeśli jest to 0(czyli liczba złożona)zwraca fałsz a jeśli coś innego prawdę. Potem mamy warunek, jeśli pierwsza to prawda to wyświetla odpowiedni komunikat. Problem w tym, że mój skrypt wyświetla, że wszystkie liczby są pierwsze. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 358 Pomógł: 78 Dołączył: 4.11.2008 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
zmieniając wartość $pierwsza w pętli nadpisujesz jej wartość. Przeanalizuj sobie iteracja po iteracji jak działa ten skrypt: dla liczby 6 w iteracji $i = 2 oraz $i = 3 do $pierwsza przypisane zostanie false(liczba nie jest pierwsza). Ale skrypt iteruje dalej i dla $i = 4 oraz $i = 5 nadpisuje tą wartość bo 6 nie jest podzielne przez 5. I taka wartość, jako ostatnia, zostaje. Daj sobie break; po przypisaniu false do $pierwsza i powinno działać
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 12.10.2025 - 17:56 |