Форум » Выполнение и анализ алгоритмов для исполнителей » Задача 6895 (Preferita) неправильный ответ » Ответить

Задача 6895 (Preferita) неправильный ответ

nebaryshev: В задаче зависимость количества точек от 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 [pre2] 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) [/pre2] Программа написана верно и выдает ответ 353, в задаче же указан ответ 354

Ответов - 1

Ж: Я думаю, что в условии есть неоднозначность. Если понимать задачу так, как написано ниже, то ответ сходится: Точки первой фигуры без ее границы: (3*x-1)**2 Точки второй фигуры с границей: (x+1)**2 Вопрос именно в границе второй фигуры - ее точки принадлежат второй фигуре, значит, их брать не нужно. А условие про то, что точки на линии не надо учитывать, касается только первой фигуры. [pre2]for x in range(10000,1,-1): if (3*x-1)**2-(x+1)**2<=10**6: print(x) break[/pre2]Меня напрягают такие неточности в формулировках...



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