# smallest_prime_divisor.py

def smallest_prime_divisor(n):

if n == 2:

return 2

for divisor in range(2, int(n ** 0.5) + 1):

if n % divisor == 0:

return divisor

return n



# test_smallest_prime_divisor.py

import pytest

from smallest_prime_divisor import smallest_prime_divisor



def test_prime_numbers():

assert smallest_prime_divisor(2) == 2

assert smallest_prime_divisor(3) == 3

assert smallest_prime_divisor(17) == 17

assert smallest_prime_divisor(19) == 19



def test_composite_numbers():

assert smallest_prime_divisor(4) == 2

assert smallest_prime_divisor(9) == 3

assert smallest_prime_divisor(25) == 5

assert smallest_prime_divisor(35) == 5



def test_large_number():

assert smallest_prime_divisor(1000000007) == 1000000007



def test_smallest_prime_divisor_of_1():

assert smallest_prime_divisor(1) == 1



В данной задаче функция smallest_prime_divisor() принимает на вход целое число и методом перебора находит минимальный делитель. Тесты проверяют правильность работы функции для различных входных данных.



#задача #автоматизация #python #pytest