C. 崔逗逗的难题 2014新生暑假个人排位赛04
时间限制 1000 ms
内存限制65536 KB
题目描述
崔逗逗放假回家后每天只能吃饭睡觉打豆豆感觉好无聊,该怎么给自己找找乐子呢?于是他主动去帮邻家初中小妹妹做作业。他看到了这样一道题:在一个边长为 a(0≤a≤10001) 的正方形ABCD中,分别以A、B、C、D为圆心做半径为a的四条弧,如图。求标号为1,2,3的图形面积。崔逗逗想了好久居然不会做,但是做不出来又会在小妹妹面前很没面子,所以他找到你来帮忙。
输入格式
多组数据。每组数据包含一个实数a,表示正方形的边长。
输出格式
对于每组数据,输出标号为1,2,3的图形面积。保留6位小数。
输入样例
0.2
输出样例
0.012606 0.020452 0.006942
代码:
#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<cmath>
using namespace std;
const double pi=acos(-1.0);
const double S3=4*0.043388522509481803541031184078;
const double S2=4*(1-pi/4-2*(0.043388522509481803541031184078));
const double S1=pi-3+4*(0.043388522509481803541031184078);
int main()
{
double a;
while(scanf("%lf",&a)==1)
{
double s1=a*a*S1;
double s2=a*a*S2;
double s3=a*a*S3;
printf("%.6lf %.6lf %.6lf\n",s1,s2,s3);
}
return 0;
}