最近这个图在各个群见过好多次了,烦都烦死了。
其实反复用正弦定理也可以做,主要的依据就是AB=BC。记AC交BD于E。
由正弦定理:看三角形ABD,BC/sin(x)=AB/sin(x)=AD/sin(20)
,三角形AED,AD/sin(70)=ED/sin(110-x)
,三角形EDC,ED/sin(30)=EC/sin(40)
,三角形EBC,EC/sin(60)=BC/sin(70)
。
于是sin(110-x)/sin(x) = sin(60)*sin(30)/(sin(20)*sin(40))
,展开得sin(110)/tan(x) = sin(60)*sin(30)/(sin(20)*sin(40)) - sin(20)
。
于是写如下代码即可:
let toR = x => x * Math.PI / 180,toD = x => x / Math.PI * 180
let si = x => Math.sin(toR(x))
let ans = si(20)*si(40)*si(110) / (si(60)*si(30)-si(20)*si(20)*si(40))
ans = Math.round(toD(Math.atan(ans)))
console.log(ans)//30