В
Все
М
Математика
О
ОБЖ
У
Українська мова
Х
Химия
Д
Другие предметы
Н
Немецкий язык
Б
Беларуская мова
М
Музыка
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
У
Українська література
Р
Русский язык
Ф
Французский язык
П
Психология
О
Обществознание
А
Алгебра
М
МХК
Г
География
И
Информатика
П
Право
А
Английский язык
Г
Геометрия
Қ
Қазақ тiлi
Л
Литература
И
История
ClarisVerbis
ClarisVerbis
26.02.2020 11:17 •  Информатика

Что не так с моим кодом? разберите его Я его делал к заданию:Каков самый большой делитель числа 600851475143, являющийся простым числом?

d=1
a=194
i=1
for i in range(2, a//2+1):
if (a%i==0) and (d<i):
d=i
i=i+1
continue
print(d)

Показать ответ
Ответ:
SuperLexa555
SuperLexa555
05.07.2022 23:31

Это четвертая версия кода. Еще быстрее. Можно поиграться и с большими числами, например 600851475143777, но некоторые простые большие может искать долго.

n=600851475143777

md=0

i=3

while i<n:

   while not(n%i):

       n=n//i

       md=i

   i+=2

print (md) if n<md else print (n)

Например в 600851475143777 есть в множителях 11, 13, 41, 28871, 3549649.

Объяснение:

0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота