Задача Задача №3442831
А
А
Критичные ошибки в коде и соответствующие команды:
- Ошибка 1 (команда 4): условие в функции is_prime неверное. "if n > 2: return True" делает большинство чисел >2 простыми. Должно быть "if n == 2: return True".
- Ошибка 2 (команда 7): цикл проверки делимости. Условие должно возвращать False, когда n делится на i (n % i == 0), а не при неравенстве (n % i != 0).
- Ошибка 3 (команда 11): размер массива f неправилен для дальнейшего обращения по индексу i+1. Нужен f длины n+1, т.е. "f = [False] * (n + 1)".
- Ошибка 4 (команда 13): диапазон цикла заполнения f должен охватывать позиции от 1 до n включительно. Текущее "range(1, n)" пропускает n. Нужно "range(1, n + 1)".
Итого номера ошибок в порядке возрастания: 4, 7, 11, 13
Ответ в требуемом формате (слитно): 471113
Кратко как это исправить:
- заменить строку 4 на: if n == 2: return True
- заменить строку 7 на: if n % i == 0: return False
- заменить строку 11 на: f = [False] * (n + 1)
- заменить строку 13 на: for i in range(1, n + 1):