题目大意:
思路:
将半径r转一圈,就得到了
为直角三角形
同理可得
阴影面积
我知道你们看不懂
那么由于r的值是确定的,而a,b又必须是正整数,那么我们枚举a和b,就可以求出最终答案啦!
感谢 XXY 同学帮助修改markdown!
代码:
#include <cstdio>
#include <cmath>
#include <iostream>
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<<s1<<endl<<s2;
return 0;
}