最近这个图在各个群见过好多次了,烦都烦死了。
传送门
其实反复用正弦定理也可以做,主要的依据就是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 * 180let 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 94922915