Problem Description
There is a wall in your backyard. It is so long that you can’t see its endpoints. You want to build a fence of length L such that the area enclosed between the wall and the fence is maximized. The fence can be of arbitrary shape, but only its two endpoints may touch the wall.
Input
The input consists of several test cases.
For every test case, there is only one integer L (1<=L<=100), indicating the length of the fence.
The input ends with L=0.
Output
For each test case, output one line containing the largest area. Your answer should be rounded to 2 digits after the decimal point.
Sample Input
1
100
0
Sample Output
0.16
1591.55
解题思路:面积最大为圆(简单题目)
/*
author : Yangchengfeng
*/
#include<stdio.h>
#include<math.h>
int main()
{
const double PI = acos(-1);
int l;
while(scanf("%d", &l)!=EOF){
if(l==0){
break;
} else {
printf("%.2f\n", 0.5 * pow(l, 2)/PI);
}
}
return 0;
}
当然这样处理也是可以的(精度比较大了)
/*
author : Yangchngfeng
*/
#include<stdio.h>
#include<math.h>
#define PI 3.1415926
int main()
{
int l;
while(scanf("%d", &l)!=EOF){
if(l==0){
break;
} else {
printf("%.2f\n", 0.5 * pow(l, 2)/PI);
}
}
return 0;
}
关于PI得比较好的处理,可以看:
http://blog.csdn.net/yang_chengfeng/article/details/49473137