美文网首页
TCTF - Elements

TCTF - Elements

作者: 喝豆腐脑加糖 | 来源:发表于2019-03-31 23:07 被阅读0次

    数学忘完了是真的难受

    图片.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}

    相关文章

      网友评论

          本文标题:TCTF - Elements

          本文链接:https://www.haomeiwen.com/subject/zcsubqtx.html