Автор | Сообщение |
|
Отправлено: 05.12.23 07:07. Заголовок: Задача 6895 (Preferita) неправильный ответ
В задаче зависимость количества точек от x выражена следующим образом # x=1, dot=0 # x=2, dot=((2 + 1) + 2) * 4 # x=3, dot=((3 + 1) + 2) * 4 + (((3 + 1) + 2) + 2) * 4 # x=4, dot=((4 + 1) + 2) * 4 + (((4 + 1) + 2) + 2) * 4 + ((((4 + 1) + 2) + 2) + 2) * 4 # x = n, dot = ((n + 1) + 2) * 4 + (((n + 1) + 2) + 2) * 4 + ....+ ((4 + 1) + (2*(n-1))) * 4 for x in range(1, 10000): temp = (x + 1) + 2 terms_count = x - 1 dot = 0 for _ in range(terms_count): dot += temp * 4 temp += 2 if dot <= 10**6: print(x) Программа написана верно и выдает ответ 353, в задаче же указан ответ 354
|
|
|
Ответов - 1
[только новые]
|
|
|
Отправлено: 05.12.23 12:02. Заголовок: Я думаю, что в услов..
Я думаю, что в условии есть неоднозначность. Если понимать задачу так, как написано ниже, то ответ сходится: Точки первой фигуры без ее границы: (3*x-1)**2 Точки второй фигуры с границей: (x+1)**2 Вопрос именно в границе второй фигуры - ее точки принадлежат второй фигуре, значит, их брать не нужно. А условие про то, что точки на линии не надо учитывать, касается только первой фигуры. for x in range(10000,1,-1): if (3*x-1)**2-(x+1)**2<=10**6: print(x) break Меня напрягают такие неточности в формулировках...
|
|
|