Форум » Электронные таблицы » Задачи 4708 и 4709 - не сходится ответ » Ответить

Задачи 4708 и 4709 - не сходится ответ

ijully: В задаче 4709 в файле имеются дубликаты одних и тех же строк. Надо ли их учитывать? Правильным решением должна быть ситуация, когда модуль разности углов равен 72. Это и Питоном легко проверяется. Я таких ситуаций (после удаления дублей) отфильтровала 27. В ответе 26 В задаче 4708 дублей еще больше. Но если их удалить, то ответ даже близко не будет похож. В качестве решения надо отфильтровать записи с углом поворота 60 градусов. Фильтр дает результат 43. В ответе 42 Создается впечатление, что кто-то поторопился, и, применяя фильтр, забыл про заголовочную строку в обеих задачах

Ответов - 7

nikson: А вы проверяете, чтобы линия замкнулась? Проверка углов, это только половина действий

nikson: Если повернуться например на 60 градусов два раза, то шестиугольник не выйдет. Будет ломаная кривая.

ijully1: В задаче 4709 нет незамкнутых линий, там количество итераций при таком фильтре не менее 12 для любой строки. И в итоге все равно 27 (это если убрать дубликаты, если не убирать, будет больше) В 4708 ответ получится, но только если не убирать дубликаты. Но там столько одинаковых строк, что я бы все же уточнила задание: что мы ищем все-таки количество строк или количество наборов чисел?


nikson: ijully1 пишет: В задаче 4709 нет незамкнутых линий, Как минимум строка №715. Там такие значения: k = 2; m = 54; n = 102; x = 126. 126 - 54 = 72. То есть угол поворота соответствует, а количество поворотов нет. [pre2] import turtle t = turtle.Pen() for i in range(2): t.right(54) t.forward(102) t.left(126) [/pre2] Запустите и увидите что получится

nikson: Вопрос стоит так: какое количество четверок чисел соответствует тому, что на экране появится правильный пятиугольник. Ни слова про учет или не учет дубликатов. Если бы в файле было 100 одинаковых наборов четверок, то и ответом было бы 100.

nikson: Или проверьте кодом, возможно при работе с фильтрами делаете ошибки. [pre2] # пятиугольник, если разность углов 72 # модуль, так как повороты могут быть # как влево так и вправо F = open("9-137.txt") count = 0 for s in F: k, m, n, x = map(int,s.split()) if abs(m-x) == 72 and k>=5: count +=1 print(count) [/pre2]

ivackov.sergey: https://youtu.be/NnbqGWQiC8A



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