题解 CF409E 【Dome】

· · 题解

var dr,dl:double;
dw,dh:longint;//题中说是整数
//dh是高,dw是底面边长,dr是内切球半径(提供的)

function h(db,dh:double):double;
begin
    //知识:一个Rt三角形直角边长为a,b;斜边长为c;斜边上的高h;则据面积公式有ab=ch
    dl:=sqrt(sqr(db)+sqr(dh));//计算斜边长
    h:=db*dh/dl;//计算上述的h:内切球半径
end;
begin
    read(dr);
    for dw:=1 to 10 do begin
        for dh:=1 to 10 do begin//枚举
            if abs(dr-h(dw/2,dh))<=0.000001 then begin//在误差范围内
                write(dw,' ',dh);
                exit;//直接结束
            end;
        end;
    end;
end.