$n=5; $pierwsza = true; for ($i=2; $i<$n; $i++){ if ($n % $i==0){ $pierwsza = false; } } if($pierwsza){ }else{ }
Troszkę go zmodyfikowałem(kod poniżej)
$n=6; for ($i=2; $i<$n; $i++){ if ($n % $i==0){ $pierwsza = false; }else{ $pierwsza = true; } } if($pierwsza){ }else{ }
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.