Предмет: Информатика,
автор: ruslanorazayevich
что не так с моим кодом? разберите его
Я его делал к заданию:Каков самый большой делитель числа 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)
ruslanorazayevich:
это Python
Ответы
Автор ответа:
2
Ответ:
Это четвертая версия кода. Еще быстрее. Можно поиграться и с большими числами, например 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.
Объяснение:
Похожие вопросы
Предмет: Русский язык,
автор: жансаяяяя
Предмет: Английский язык,
автор: Софья019284
Предмет: Английский язык,
автор: checkmeout
Предмет: История,
автор: Valeria205
Предмет: Українська література,
автор: martusagalik