题目大意:
给出边长,然后求图中三个部分的面积是多少。结果保留 3 3 3 位小数。会有多组输入数据。
题目解析:
我们设边长为 a a a。
我们可以求出红色面积为 $ \frac{1}{4}\sqrt{3a^2} $。
我们可以设橙色部分面积为 $ \frac{1}{6}\pi a^2 $。
我们可以求出黄色面积为 2 S o r a n g e − S r e d 2Sorange-Sred 2Sorange−Sred。
我们可以求出绿色面积为 1 4 π a 2 \frac{1}{4}\pi a^2 41πa2。
我们可以求出蓝色面积为 S g r e e n − S o r a n g e Sgreen-Sorange Sgreen−Sorange。
我们可以求出紫色面积为 a 2 − S g r e e n a^2-Sgreen a2−Sgreen。
我们可以求出黑色面积为 S p u r p l e − S g r e e n + S y e l l o w Spurple-Sgreen+Syellow Spurple−Sgreen+Syellow。
最后附上代码:
#include<bits/stdc++.h>
using namespace std;
const double PI=acos(-1.0);
int main(){
double a;
while(scanf("%lf",&a)!=EOF){
double b=a*a*sqrt(3)/4;
double c=a*a*PI/6;
double d=a*a*PI/4;
double e=a*a-d;
double ans1=e-(d-(2*c-b));
double ans2=e-2*ans1;
double ans3=a*a-4*ans1-4*ans2;
// 上面皆为公式
printf("%.3lf %.3lf %.3lf\n",ans3,ans2*4,ans1*4); // 输出
}
return 0;
}