Írj egy hatékony függvényt annak ellenőrzésére, hogy egy egész szám prímszám-e.
Persze, itt van egy példa a függvény megvalósítására: <br> <br> ``` <br> def is_prime(n): <br> if n <= 1: <br> return False <br> <br> for i in range(2, int(n**0.5) + 1): <br> if n % i == 0: <br> return False <br> <br> return True <br> ``` <br> <br> A függvény a következőképpen működik: <br> <br> 1. Először ellenőrizzük, hogy az `n` bemeneti egész szám 1-nél kisebb vagy egyenlő, mert tudjuk, hogy az 1 és minden negatív szám nem prímszám. Ha az `n` 1 vagy kisebb, akkor a `False` értéket adjuk vissza. <br> 2. Ezután 2-ről az `n` négyzetgyökére lépünk ciklussal (az `int(n**0.5) + 1` használatával felfelé kerekítve a legközelebbi egész számra), mivel az `n` bármely szorzótényezőjének, amely nagyobb, mint az `n` négyzetgyöke, szükségszerűen van egy annak megfelelő szorzótényezője, amely kisebb, mint az `n` négyzetgyöke. Ebben a tartományban minden egyes `i` számnál ellenőrizzük, hogy az `n` egyenlően osztható-e `i`-vel. Ha igen, akkor az `n` nem prím, és visszaadhatjuk a `False` értéket. <br> 3. Ha befejeztük az `n` összes lehetséges tényezőjének átkutatását anélkül, hogy olyanokat találtunk volna, amelyek egyenletesen osztják el, akkor az `n`-nek prímnek kell lennie, és visszaadhatjuk a `True` értéket.
### Utasítás:
Írj egy hatékony függvényt annak ellenőrzésére, hogy egy egész szám prímszám-e.


### Válasz:
Persze, itt van egy példa a függvény megvalósítására: <br> <br> ``` <br> def is_prime(n): <br> if n <= 1: <br> return False <br> <br> for i in range(2, int(n**0.5) + 1): <br> if n % i == 0: <br> return False <br> <br> return True <br> ``` <br> <br> A függvény a következőképpen működik: <br> <br> 1. Először ellenőrizzük, hogy az `n` bemeneti egész szám 1-nél kisebb vagy egyenlő, mert tudjuk, hogy az 1 és minden negatív szám nem prímszám. Ha az `n` 1 vagy kisebb, akkor a `False` értéket adjuk vissza. <br> 2. Ezután 2-ről az `n` négyzetgyökére lépünk ciklussal (az `int(n**0.5) + 1` használatával felfelé kerekítve a legközelebbi egész számra), mivel az `n` bármely szorzótényezőjének, amely nagyobb, mint az `n` négyzetgyöke, szükségszerűen van egy annak megfelelő szorzótényezője, amely kisebb, mint az `n` négyzetgyöke. Ebben a tartományban minden egyes `i` számnál ellenőrizzük, hogy az `n` egyenlően osztható-e `i`-vel. Ha igen, akkor az `n` nem prím, és visszaadhatjuk a `False` értéket. <br> 3. Ha befejeztük az `n` összes lehetséges tényezőjének átkutatását anélkül, hogy olyanokat találtunk volna, amelyek egyenletesen osztják el, akkor az `n`-nek prímnek kell lennie, és visszaadhatjuk a `True` értéket.


A megadott függvény hatékonyan ellenőrzi, hogy egy egész szám prímszám-e. A kód világos és könnyen érthető, és helyesen alkalmazza a prímszámok tulajdonságait. A függvény hatékonyan használja a ciklust az `n` lehetséges tényezőinek ellenőrzésére, és korán kilép, ha tényezőt talál.

**Pontszám:** 9/10