Прямоугольный треугольник с периметром Р. Ч 3

На эту тему в инете огромное количество задач! И почти везде площадь задается целочисленной. А раз так, то можно практически всегда пользоваться моим решением. В приведенном ролике дано: P=30 и S=30. Довольно простой случай, приводящий к пифагоровой тройке. Авторы решают задачу тремя разными способами. У меня же решение - значительно более общее, но при условии, что площадь S - число целочисленное. В самом деле, достаточно мою прогу чуть-чуть подкорректировать:

dim s(10000),a(10000),b(10000),c(10000)
p=30
smax=p^2/4*(3-sqrt(8))
print "P = ";
print p;
print "   S_max = ";
print smax
print
print "    s     a        b      c"
print "---------------------------"
s=int(smax)
for i=1 to s
s(i)=s-i+1
r=sqrt(16*s(i)^2/p^2+p^2-24*s(i))
a(i)=1/4*r+s(i)/p+p/4
b(i)=8*p*s(i)/(p*r+p^2+4*s(i))
c(i)=sqrt(a(i)^2+b(i)^2)
if s(i)=30 then
print s(i) using "#####",a(i) using "####.###";
print b(i) using "####.###",c(i) using "####.###"
fi
next i

и тогда решение решение будет выглядеть так, как показано в иллюстрации. Времени на все-провсе заняло менее минуты. Непременно рассмотрю и другие интересные примеры по данной теме.

27 декабря 2023 г.


Рецензии