Геометрия. Олимпиадная задача. Ч 1
print " a c b x y z b1 b2"
print "---------------------------------------"
n=1000
for c=3 to n
for a=c+1 to 3*n
b=sqrt(a^2+c^2)
x=a*c*sqrt(a^2+c^2)/(a*c+a^2+c^2)
y=a*c^2/(a*c+a^2+c^2)
z=a^2*c/(a*c+a^2+c^2)
b1=sqrt((c-y)^2-x^2)
b2=sqrt((a-z)^2-x^2)
b0=b1+x+b2
if x=int(x) then
if y=int(y) then
if z=int(z) then
print a using "#####",c using "####",b using "####";
print x using "####",y using "####",z using "####";
print b1 using "####",b2 using "####"
fi
fi
fi
next a
next c
Конечно, внимательные читатели заметили, что в таблице представлено только одно решение, когда минимальное значение x = 60. Другие решения - просто кратные первой строке. Я привел девять строк в надежде, что найдется иной, примитивный вариант. Но увы, других вариантов не оказалось. Хотя есть вероятность, что если задачу существенно расширить в программе, то может появиться другой уникальный вариант. А пока студентам можно предложить a=148 и c=111.
9 января 2024 г.
Свидетельство о публикации №224010901628