Рассмотрим треугольник ABC, где каждая сторона имеет целочисленную длину ( целочисленный треугольник ). Определить медиану из ABC быть отрезок от вершины до середины противоположной стороны. На рисунке ниже сегменты красной линии представляют медианы. Обратите внимание, что любой данный треугольник имеет три медианы.
Пусть n будет некоторым положительным целым числом. Сколько невырожденных интегральных треугольников с длиной каждой стороны, меньшей или равной n, имеют хотя бы одну интегральную медиану?
Вызов
Напишите программу для вычисления количества интегральных треугольников с хотя бы одной интегральной медианой для данной максимальной длины стороны n . Порядок длин сторон не имеет значения, т.е. <6,6,5> представляет тот же треугольник, что и <5,6,6>, и должен учитываться только один раз. Исключите вырожденные треугольники, такие как <1,2,3>.
счет
Наибольшее число n, для которого ваша программа может сгенерировать количество треугольников за 60 секунд на моей машине, - это ваш результат. Программа с наибольшим количеством очков выигрывает. Моя машина Sony Vaio SVF14A16CLB, Intel Core i5, 8 ГБ оперативной памяти.
Примеры
Пусть Т ( Н ) быть программой с входным N .
T(1) = 0
T(6) = 1
T(20) = 27
T(22) = 34
Обратите внимание, что T (1) = T (2) = T (3) = T (4) = T (5) = 0, потому что никакая комбинация целых сторон не даст интегральной медианы. Однако, как только мы дойдем до 6, мы увидим, что одна из медиан треугольника <5,5,6> равна 4, поэтому T (6) = 1.
Также обратите внимание, что T (22) является первым значением, при котором двойной счет становится проблемой: треугольник <16,18,22> имеет медианы 13 и 17 (и 2sqrt (85)).
Вычисление медиан
Медианы треугольника можно рассчитать по следующим формулам:
Current top score: Sp3000 - 7000 points - C