Привет, ребята, поэтому мне было интересно, как этот код:
def is_prime(n):
for i in range(2, int(n**.5 + 1)):
if n % i == 0:
return False
return True
может проверять простое число, когда в строке 2: for i in range(2, int(n**.5 + 1)):
диапазон не: range(2, n)
? Разве ему не нужно перебирать каждое число до n
, но исключая его? Этот не делает этого, но каким-то образом он работает ... Может кто-нибудь объяснить, почему это работает, пожалуйста.