牛客练习赛46T1-华华教奕奕写几何【数学】
生活随笔
收集整理的這篇文章主要介紹了
牛客练习赛46T1-华华教奕奕写几何【数学】
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
正題
題目鏈接:https://ac.nowcoder.com/acm/contest/894/A
題目大意
一個大半圓里面放兩個小半圓要求兩個小半圓的半徑之和等于大半圓的半徑,而且紅色面積為SSS。
求最小的大半圓的半徑。
解題思路
假設小半圓的半徑為x,yx,yx,y那么大半圓的半徑為x+yx+yx+y。那么我們有
π(x+y)2?πx2?πy2=2Sπ(x+y)^2-πx^2-πy^2=2Sπ(x+y)2?πx2?πy2=2S
(x+y)2?x2?y2=2Sπ(x+y)^2-x^2-y^2=\frac{2S}{π}(x+y)2?x2?y2=π2S?
x2+2xy+y2?x2?y2=2Sπx^2+2xy+y^2-x^2-y^2=\frac{2S}{π}x2+2xy+y2?x2?y2=π2S?
2xy=2Sπ2xy=\frac{2S}{π}2xy=π2S?
xy=Sπxy=\frac{S}{π}xy=πS?
后面的是一個定值,然后要求x+yx+yx+y最大那么最優答案就是
x=y=Sπx=y=\sqrt{\frac{S}{π}}x=y=πS??
也就是ans=2Sπans=2\sqrt{\frac{S}{π}}ans=2πS??
codecodecode
#include<cstdio> #include<cmath> #include<algorithm> using namespace std; const double pi=3.1415926535898; double s; int main() {scanf("%lf",&s);s/=pi;s=sqrt(s);printf("%.3lf",s*2); }總結
以上是生活随笔為你收集整理的牛客练习赛46T1-华华教奕奕写几何【数学】的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 教你如何设置同步更新电脑如何调整时间同步
- 下一篇: jzoj1764-游戏【dp,dfs】