Naiwny test pierwszości liczby

Zadanie 9 z 10 · rozdział 7Trudność: 2 z 3pierwszośćpętledzielniki

Treść zadania

Napisz funkcję czy_pierwsza(n), która zwraca True, jeśli n jest liczbą pierwszą, a w przeciwnym razie False.

Liczba pierwsza to liczba naturalna większa od 1, której jedynymi dzielnikami są 1 i ona sama.

Program wczytuje n, wywołuje funkcję i wypisuje zwróconą wartość logiczną (print(czy_pierwsza(n))).

Dane wejściowe

  • 1. linia: n — liczba naturalna (n ≥ 1)

Dane wyjściowe

Jedno słowo: True, jeśli n jest liczbą pierwszą, w przeciwnym razie False.

Uwagi

  • 1 nie jest liczbą pierwszą.
  • W prostym rozwiązaniu sprawdzasz dzielniki od 2 do n - 1. Wystarczy jednak sprawdzać dzielniki d spełniające $d \cdot d \leq n$, czyli do $\lfloor \sqrt{n} \rfloor$.

Przykłady

Wejście
7
Wyjście
True
Wejście
4
Wyjście
False

Potrzebujesz teorii?

Zasady obowiązujące w rozdziale 7

Zadania w tym rozdziale łączą pętle z funkcjami: implementujesz klasyczne algorytmy matematyczne (potęgowanie, silnia, NWD, NWW, pierwiastek, test pierwszości) bez gotowych funkcji bibliotecznych.

Konwencje wspólne:

  • Każde zadanie (i każdy podpunkt) to osobny program: czyta standardowe wejście i wypisuje wynik na standardowe wyjście.
  • Program nie wypisuje komunikatów typu „Podaj liczbę:”. Tekst podany w input("…") jest ignorowany przez sprawdzarkę.
  • Jeśli zadanie mówi „napisz funkcję”, zaimplementuj funkcję o podanej nazwie, która zwraca wynik przez return. Program wczytuje dane, wywołuje funkcję i wypisuje wynik — gotowy szkielet znajdziesz w sekcji Kod startowy.
  • Dane wejściowe wczytuj dokładnie w podanej kolejności, każdą wartość z osobnej linii.

Zadanie pochodzi z otwartego zbioru Nauka-Programowania (z rozwiązaniami wzorcowymi). Zgłoś błąd w treści lub testach.

Python uruchomi się w przeglądarce przy pierwszym teście.

Kod zapisuje się automatycznie w tej przeglądarce. Tab wstawia wcięcie; aby opuścić edytor klawiaturą, naciśnij Esc, a potem Tab.

Testy

Program dostaje „Wejście” przez input() i musi wypisać „Oczekiwane wyjście”. Liczby porównywane są z tolerancją 0,01, a tekst podany w input("…") nie jest sprawdzany.

Test 1

Nie uruchomiono
Wejście
1
Oczekiwane wyjście
False

Test 2

Nie uruchomiono
Wejście
2
Oczekiwane wyjście
True

Test 3

Nie uruchomiono
Wejście
9
Oczekiwane wyjście
False

Test 4

Nie uruchomiono
Wejście
25
Oczekiwane wyjście
False

Test 5

Nie uruchomiono
Wejście
97
Oczekiwane wyjście
True

Test 6

Nie uruchomiono
Wejście
7919
Oczekiwane wyjście
True
Uruchom z własnymi danymi