Помощь дипломнику

Молодой студент обратился ко мне, как к любителю решать математические проблемы. Он просто дал листок с геометрической задачей. Фактически один к одному я привел его на рисунке.
Дан прямоугольный треугольник ABC с построенной вписанной окружностью. Нужно было любым способом выявить не менее пяти вариантов в которых все стороны треугольника, радиус вписанной окружности и, самое главное - площадь зеленого треугольника MVL,  оказались бы целочисленными.
Последнее было мне не совсем понятно. Почему именно площадь должна быть столь ограниченной? А не, допустим, хорда ML? Диалог оказался удивительным:
   - Так надо научному руководителю.
   - Вам нужны формулы в зависимости от сторон треугольника?
   - Нет! С ними разбираться нет времени. Просто необходимо любым способом найти не менее пяти вариантов, если они возможны в принципе.
   - Мне проще всего написать быстро программу, произвести расчеты и получить хоть какие-то результаты.
   - Да, именно так желательно сделать.
   - Тогда управлюсь за вечер.
Слово свое сдержал. На отладку и распечатку результатов потратил около трёх часов. Поразил тот факт, что площади зеленого треугольника не просто целочисленные, а непременно кратны десяти. Выборочно проверил на чертеже вариант номер три. Убедившись в правильности, послал дипломанту по электронной почте таблицу, что приведена в иллюстрации. С запасом дал ему семь вариантов. Ответ пришел незамедлительно. С одним словом "Спасибо!".
На следующий день прогу развил до двадцати результатов и почти во всех вариантах действительно значение S2 кратно 10, За исключением, правда, треугольника со сторонами a=490, b=1680, c=1750 (это кратно примитивному треугольнику Пифагора 7, 24, 25). Тут уже площадь S2=6174. Так что не всегда наблюдаемое следует принимать за закон. Ещё заметил четкую корреляцию площади S2 с радиусом окружности R. Отношение S2/R - всегда число целое. Последнее наверняка можно доказать геометрически - через подобие треугольников.

Текст проги:

n=350
for a=13 to 5*n
for b=a+1 to 7*n
c=sqrt(a^2+b^2)
if c=int(c) then
A=atan(a/b)
A0=180*A/pi
A2=A/2
A20=A2*180/pi
V=pi/2-A2
V0=180*V/pi
L=pi/2-V
L0=180*L/pi
if a+b-c>0 then
R=(a+b-c)/2
if R=int(R) then
LC=c-a+R
LW=R*cos(A2)
LM=LW*2
d=sqrt(R^2-LW^2)
S2=LW*d
S1=R^2/2*(2*V-sin(2*V))
SS=pi*R^2
S=SS-S1-S2
if S2=int(S2) then
if S<25000 then
m=m+1
print m using "###",a using "####",b using "####";
print c using "####",R using "####",LM using "#####.####";
print S using "########.####",S1 using "########.####";
print S2 using "#####.######"
fi:fi:fi:fi:fi
next b
next a

9 апреля 2023 г.

 


Рецензии