Форум » Циклы, ветвления, рекурсия » Проблема с номером 505(24) из варианта 19 в генераторе. » Ответить

Проблема с номером 505(24) из варианта 19 в генераторе.

Фёдор: В пункте 2 просят подобрать такое трехзначное число N, при котором программа выведет верный ответ. В ответе указано число 102, хотя при вводе числа 100 ответ также получается верным. (Проверено в интерпретаторе Python 3.6) В пункте 3 просят исправить ошибки в программе. С подпунктом 1 из ответа согласен, с подпунктом 2 - не совсем. Удобнее и эффективнее по памяти исправить знак в условии цикла "while n >= 1:" на строгий (>), поскольку по условию программа должна удалять все единицы из исходного числа. Исправление, указанное в ответе ("d > 1" исправлено на "d <> 1" (!= в python)) не несет смысла, поскольку строгий знак и так подразумевает, что d не может быть равно единице. Кроме того, если d вдруг будет равным 0, программа прокрутит бесполезный цикл, потратив на это память.

Ответов - 3

OlgaChe1: Контрпример: для 1205 Ваш вариант программы выведет 52 вместо 502. Удаляются и нули, если d>1.

Поляков: Фёдор пишет: В пункте 2 просят подобрать такое трехзначное число N, при котором программа выведет верный ответ. В ответе указано число 102, хотя при вводе числа 100 ответ также получается верным. По условию задачи можно указать одно любое число. Ко второму тезису уже привели контрпример. если d вдруг будет равным 0, программа прокрутит бесполезный цикл, потратив на это память. Память тут вообще не при чём.

Фёдор: Спасибо, проблема возникла из-за невнимательного прочтения задания



полная версия страницы