Предмет: Информатика,
автор: ruslanorazayevich
3 задача Эйлера. Python.
Заранее предупреждаю, мне нужно понять что не так с "Моим Кодом",мне не нужен ваш код!
Приложения:
Ответы
Автор ответа:
0
Ответ:
Объяснение:
Разбор кода на скрине
(МОЙ ВАРИАНТ)
num = 600851475143
count = 2
while True:
if num % count == 0:
num = num / count
if num == 1:
print(count)
break
count += 1
Если у вас останутся вопросы, вы можете задать их в комментариях к этому посту.
Приложения:
ruslanorazayevich:
5 и 6 строка
Я уже вам ответил на счёт 5 строчки, делим 600851475143 на count таким образом мы получаем наибольший делитель.Что касается 6 строки,мы проверяем, дошли ли мы до 1,то есть если мы окончательно доделили наше число, то мы прерываем цикл
я понял, что в 5 строке мы получаем наибольший делитель, но как он понимает, что оно является простым?
Извините,я у себя сместил строки,в 5 строке мы делаем проверку на четность,
делится ли число на число без остатка,а в 6 уже делим 600851475143 на count.
делится ли число на число без остатка,а в 6 уже делим 600851475143 на count.
Надеюсь я вам смог помочь
я немного видоизменил код, я представляю его примерно таким
num = 600851475143
count = 2
while True:
if num % count == 0:
if num==count: #условие проверяющее делится ли число само на себя т.е является ли простым
print(count)
num = num/count
if num==1:
break
else:
count += 1
count = 2
while True:
if num % count == 0:
if num==count: #условие проверяющее делится ли число само на себя т.е является ли простым
print(count)
num = num/count
if num==1:
break
else:
count += 1
ой не тот
а нет тот
мне вот этой вещи не хватало, просто я не понимаю как она понимает, что число простое
Похожие вопросы
Предмет: Английский язык,
автор: вторник1
Предмет: Русский язык,
автор: pavlyhka
Предмет: Русский язык,
автор: ElizavetaAndrianova
Предмет: Математика,
автор: azaliya54
Предмет: Обществознание,
автор: nadya3317