Форум » Циклы и ветвления » № 5600 (генератор, егэ-6) » Ответить

№ 5600 (генератор, егэ-6)

informatika312: решение: [pre2] count = 0 for x in range(1, 1500): for y in range(1, 1500): if (x < 400 + 200 * 2**0.5) and (y < 400 + 400 * 2**0.5) and (y > x - 400) and (y < -x + 800 + 400 * 2**0.5): count += 1 print(count) [/pre2] дает результат 578324 (не сходится с ответом задачи). Не могу найти ошибку.

Ответов - 5

safinim: ответ 769684 ### pr(sqr(400+282*2)-283*141*4)

AndreyMinak: Здравствуйте. В условии сказано: сколько точек с целыми ПОЛОЖИТЕЛЬНЫМИ координатами (x, y) будут находиться внутри области. Вы это не учли.

informatika312: Так в цикле идет перебор положительных х и у


gozerov: Фигура, которая получается при выполнении предоставленного алгоритма, является восьмиугольником. В первой координатной четверти мы видим прямые, задаваемые формулами y = x, y = 200 * (2**0.5), y = -x + 400 + 400*(2**0.5) - эти прямые ограничивают нашу фигуру в первой координатной четверти. При этом x должен быть меньше, чем 400 + 400*(2**0.5). Раз просят найти целочисленные положительные координаты, то перебор начинается с 1. Отсюда и выходит наш алгоритм: [pre2] counter = 0 for x in range(1, int(400 + 400*2**0.5) + 1): for y in range(1, int(200 * 2**0.5) + 1): if y < x and y < 200 * (2 ** 0.5) and y < -x + 400 + (400 * (2 ** 0.5)): counter += 1 print(counter) [/pre2]

informatika312: Спасибо! Увидела свою ошибку - не учла исходное положение Черепахи!!!



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