题目大意:
思路:
将半径r转一圈,就得到了 ∵∠ABC=90°∵∠ABC=90° ∴△ABC∴△ABC为直角三角形 ∴AB=(2r)2−a2−−−−−−−−√∴AB=(2r)2−a2 ∴S△ABC=AB∴S△ABC=AB ×× CB=(2r)2−a2−−−−−−−−√CB=(2r)2−a2 ×× aa ∴∴S□ABCD=2S□ABCD=2××S△ABC=2S△ABC=2××(2r)2−a2−−−−−−−−√(2r)2−a2××aa 同理可得 S□EFGH=2S□EFGH=2××(2r)2−b2−−−−−−−−√(2r)2−b2××bb ∴∴阴影面积=S□ABCD+S□EFGH−a=S□ABCD+S□EFGH−a××b=2b=2××(2r)2−a2−−−−−−−−√(2r)2−a2××a+2a+2××(2r)2−b2−−−−−−−−√(2r)2−b2××b−ab−a××bb我知道你们看不懂
感谢 同学帮助修改markdown!
代码:
#include#include #include using namespace std;double maxn,r,d;int s1,s2;int main(){ cin>>r; for (double i=1;i<2.0*r;i++) { double a=(double)sqrt(2.0*r*2.0*r-i*i); //求AB长度 for (double j=1;j<2.0*r;j++) { double b=(double)sqrt(2.0*r*2.0*r-j*j); //求EF长度 if (a*i+b*j-i*j>maxn) //求最大值 { maxn=a*i+b*j-i*j; s1=(int)i; s2=(int)j; //记录答案 } } } cout< < <