Algorithm
Problem link- https://www.spoj.com/problems/FENCE1/
FENCE1 - Build a Fence
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.
Example
Input: 1 0 Output: 0.16
Code Examples
#1 Code Example with Python Programming
Code -
Python Programming
import math
while True:
l = float(input())
if l == 0:
break
print('%.2f' %(l * l / math.pi / 2))
Copy The Code &
Try With Live Editor
Input
0
Output
#2 Code Example with C++ Programming
Code -
C++ Programming
#include <iostream>
#include <stdio.h>
#include <iomanip>
using namespace std;
int main() {
int l;
while(cin>>l){
if(l==0)
break;
double res=(l*l)/(2*3.14);
cout << fixed << setprecision(2) << res <<endl;
}
return 0;
}
Copy The Code &
Try With Live Editor
Input
0
Output
Demonstration
SPOJ Solution-Build a Fence-Solution in C, C++, Java, Python