Вы пытаетесь разделить введенный вами номер на любые числа от 2.50. Непростые числа могут быть пропущены, но они не повредят. (например, 10 не находит деления после уже обработанных 2 и 5).
Для каждого значения i
вы делите его, пока это работает, и если оставшееся число равно i
ПОСЛЕ деления этого out, он добавляется в список под названием answer
. Это означает, что в конце ответ будет содержать только наивысший простой фактор ниже 50, если этот простой фактор появится в значении как минимум дважды. Только тогда результат деления может равняться i
. Если вы просто ищете наивысшее простое число, проверьте, не упал ли результат до 1.
Вы не опубликовали то, чего хотите достичь. Но это, вероятно, не было предназначено.