В общем виде никто не рискнул решать. Ч 1

Задача эта давно гуляет по инету. Но страшно частный случай, когда основание треугольника b оказывается целочисленным числом. Потому-то вариант такой довольно легко решается несколькими способами чисто геометрически. Меня же всегда интересует общий случай, когда углы A и В - совершенно произвольные. А вот тут как раз и заковырка серьезная. Аналитически очень просто составить уравнение, из которого находится угол t. На иллюстрации оно показано в верхнем левом углу в фиолетовой рамке. Решить чисто аналитически мне удалось только при отношении m/m=2. В следующей части красивую формулу обязательно покажу. Но здесь меня волнует только самое общий подход. Как это бывает довольно часто с тригонометрическими выражениями, ответ можно получать лишь приближенными расчетами. Самый простой метод - это итерационный метод Ньютона. Формулу показал под рисунком треугольника и тоже в рамочке. Составил прогу и распечатал таблицу для варианта, когда n=1 и m=2. Желтым цветом выделил как раз тот случай, который решался в инете.

Текст проги:

print "  N     a       b      c      A         B         C  "
print a=4:c=5:n=1:m=2
for a=1 to 7
for c=a to 10
t=0.6
rem print t
for i=1 to 7
z=t-(a*sin((n+m)*t)-c*sin(n*t))
/(a*(m+n)*cos(t*(m+n))-c*n*cos(n*t))
t=z
next i
b=a*sin(m*t)/sin(n*t)
A=n*t*180/pi
B=m*t*180/pi
C=180-A-B
if C<>180 then
s=s+1
print s using "####",a using "####",b using "####.####";
print c using "####",A using "####.####";
print B using "####.####",C using "####.####"
fi
next c
next a


Рецензии