Чем код из примера настолько быстрее моего? Python
Вот задача, из ЕГЭ. Сделал свой код, он работает непозволительно долго, зашёл в примеры - увидел код на мой взгляд почти одинаковый с моим, но работающий за приемлемое время. В чём принципиальная разница? Почему пример сильно быстрее моего? Прикрепляю
Мой код:
sc = 0
for i in range(101000000,102000001):
if i % 2 == 0: sc =+1
th = round(i**0.5)
for k in range(2, th+1):
if i%k==0 and k%2==0:
sc += 1
j = i//k
if i%j == 0 and j%2==0:
sc += 1
if j == k: sc -=1
if sc > 3:
sc = 0
break
if sc == 3:
print(i)
sc = 0
Код из примера:
for i in range(101000000, 102000000 + 1):
if i % 2 == 0:
count = 1
sqrtI = round(i ** 0.5)
for j in range(2, sqrtI + 1):
if i % j == 0:
if j % 2 == 0:
count += 1
k = i // j
if k % 2 == 0:
count += 1
if j == k:
count -= 1
if count > 3:
break
if count == 3:
print(i)