数学忘完了是真的难受
图片.png 图片.png v23中保存着另外一边大概跟一下程序,能看出是三角形的判断。下方的公式可以得到一个方程,其中 " 0x391BC2164F0ALL " 应当是最短的一边,两个浮点数为内外切圆的半径。
想办法计算出另外两边
== 数学题就用数学的格式来写
解:
图片.png已知:
a1=62791383142154LL
内切圆半径r = 1.940035480806554e13
外切园半径R = 4.777053952827391e13
设三角形的面积为S ,第三边为a3,另外一条为a2
求:另外两边
因为:
图片.png
s = sqrt(4.0 * a1_2 * a1_2 * a2_1 * a2_1 - p1 * p1) * 0.25
得:
p1 = 2S/(a1+a2+a3)
p3 = a1a2a3/(4S)
所以:
r=2S/(a1+a2+a3) = 1.940035480806554e13
R=a1 a2* a3/(4*S) = 4.777053952827391e13
由正弦定理得 :
sin A = a/(2R)
又因为:
cos A = (b ^ 2+c ^2-a ^ 2)/(2bc)= sqrt(1-(sin A)^2)
联立得:
S = a1*a2*a3/4R = (a1 + a2 + a3)r/2
a1*a2*a3 = 2Rr(a1+a2+a3)=2Rr(a+p2)
所以:(随便联立列出方程,脚本删完不想写了)
from math import sqrt
r = 1.940035480806554e13
R = 4.777053952827391e13
a1 = 62791383142154
sin= a / (2 * R)
cos = 1 - sin**2
cos = sqrt(cos)
b+c = a+4*R*r*(1+cosA)/a
bc = 2*R*r*(a+T2)/a #bc
c-b= sqrt(T2*T2-4*T3)
a2 = int((bc+b+c)/2)
a3 = int((b+c-bc)/2)
print hex(c),' ',hex(b)
flag{391bc2164f0a-4064e4798769-56e0de138176}
网友评论