Zadanie 117
Napisz program, który dla danej liczby n podanej przez użytkownika wyświetla wszystkie liczby pierwsze mniejsze lub równe n . Liczba pierwsza to liczba naturalna większa od 1, która dzieli się tylko przez 1 i samą siebie. Użytkownik wprowadza n w formularzu, a program weryfikuje, czy jest to liczba całkowita dodatnia, znajduje liczby pierwsze i wyświetla je w czytelny sposób.
Wskazówki dla ucznia:
- Zweryfikuj, czy n jest liczbą całkowitą dodatnią za pomocą is_numeric() i sprawdzenia, czy po konwersji na int nie traci wartości.
- Sprawdź, czy n jest większe od 1, ponieważ liczby pierwsze zaczynają się od 2.
- Dla każdej liczby od 2 do n sprawdź, czy jest pierwsza, testując podzielność przez liczby nieparzyste od 3 do pierwiastka z tej liczby, pomijając liczby parzyste (oprócz 2).
- Jeśli n jest bardzo duże, rozważ użycie Sita Eratostenesa, ale pamiętaj o ograniczeniach pamięci – możesz dodać limit na n (np n <= 1000000).
- Wyświetl liczby pierwsze w elemencie <pre> dla zachowania formatowania.
- Zabezpiecz dane wejściowe za pomocą htmlspecialchars() przy pobieraniu, aby chronić przed XSS.