0
Не могу понять, где косяк.
Вот рабочий алгоритм поиска наибольшего простого делителя в числе х def mdl(x): ho=[] for i in range(x): if x%(i+2)==0: ho.append(i+2) for n in range(x): for i in range(x): if n <= len(ho)-1: #Костыль if ho[n]%(i+2)==0 and i+2!=ho[n]: ho.remove(ho[n]) print(max(ho)) Но мне не нравится строка с пометкой #Костыль. Пытаюсь его убрать. def mdl(x): ho=[] for i in range(x): if x%(i+2)==0: ho.append(i+2) for n in range(len(ho)): for i in range(x): if ho[n]%(i+2)==0 and i+2!=ho[n]: #Зараза ho.remove(ho[n]) print(max(ho)) Выдает ошибку. В строке #Зараза переменная n превышает максимальный индекс списка ho. Бился полтора часа, но так и не понял, в чем дело.
4 Respostas
0
Без понятия
0
В следующий раз пиши вопросы на английском тут почти все англичане
0
Продублировал на англ ещё вчера. Уже ответили
0
Понятно