Skip to content
Related Articles

Related Articles

Area of largest semicircle that can be drawn inside a square
  • Last Updated : 08 Apr, 2021
GeeksforGeeks - Summer Carnival Banner

Given a square of side a, the task is to find the area of the largest semi-circle that can be drawn inside the square.
Examples: 
 

Input: a = 3
Output: 4.84865

Input: a = 4
Output: 8.61982

 

Approach 
The semicircle of maximal area inscribed in the square has its diameter parallel to a diagonal, and its radius rmax is given as:
 

 

  • Since the figure is symmetrical in the diagonal BD, angle QPB = 45°
     
OY = r cos 45 = r/ √2
  •  
  • Hence 
     
a = AB 
  = r + r/√2
  = r(1 + 1/√2)
  •  
  • Thus 
     
r = a / (1 + 1/√2)
  = a*√2 / (√2 + 1)
  •  
  • Rationalizing the denominator, we obtain 
     
r = a*√2*(√2-1)
  •  
  • Thus 
     
r = a*2 - a √2
  = a*(2-√2)
  •  
  • Therfore, 
     
Area of the required semicircle
         = pi * r2/2
         = 3.14*(a*(2-√2))2 / 2
  • Below is the implementation of the above approach: 
     

CPP




// C++ program to find Area of
// semicircle in a square
 
#include <bits/stdc++.h>
using namespace std;
 
// Function to find area of semicircle
float find_Area(float a)
{
    float R = a * (2.0 - sqrt(2));
    float area = 3.14 * R * R / 2.0;
    return area;
}
 
// Driver code
int main()
{
    // side of a square
    float a = 4;
 
    // Call Function to find
    // the area of semicircle
    cout << " Area of semicircle = "
         << find_Area(a);
 
    return 0;
}

Java




// Java program to find Area of
// semicircle in a square
class GFG {
 
    // Function to find area of semicircle
    static float find_Area(float a)
    {
        float R = a * (float)(2.0 - Math.sqrt(2));
        float area = (float)((3.14 * R * R) / 2.0);
        return area;
    }
     
    // Driver code
    public static void main (String[] args)
    {
        // side of a square
        float a = 4;
     
        // Call Function to find
        // the area of semicircle
        System.out.println(" Area of semicircle = " + find_Area(a));
    }
}
 
// This code is contributed by AnkitRai01

Python3




# Python3 program to find Area of
# semicircle in a square
from math import sqrt
 
# Function to find area of semicircle
def find_Area(a) :
 
    R = a * (2.0 - sqrt(2));
    area = 3.14 * R * R / 2.0;
     
    return area;
 
# Driver code
if __name__ == "__main__" :
 
    # side of a square
    a = 4;
 
    # Call Function to find
    # the area of semicircle
    print("Area of semicircle =",find_Area(a));
 
# This code is contributed by AnkitRai01

C#




// C# program to find Area of
// semicircle in a square
using System;
 
class GFG {
 
    // Function to find area of semicircle
    static float find_Area(float a)
    {
        float R = a * (float)(2.0 - Math.Sqrt(2));
        float area = (float)((3.14 * R * R) / 2.0);
        return area;
    }
     
    // Driver code
    public static void Main (string[] args)
    {
        // side of a square
        float a = 4;
     
        // Call Function to find
        // the area of semicircle
        Console.WriteLine(" Area of semicircle = " + find_Area(a));
    }
}
 
// This code is contributed by AnkitRai01

Javascript




<script>
 
// Javascript program to find Area of
// semicircle in a square
 
// Function to find area of semicircle
function find_Area(a)
{
    var R = a * (2.0 - Math.sqrt(2));
    var area = 3.14 * R * R / 2.0;
    return area;
}
 
// Driver code
 
// side of a square
var a = 4;
// Call Function to find
// the area of semicircle
document.write(" Area of semicircle = "
      + find_Area(a));
 
// This code is contributed by rutvik_56.
</script>
  •  
Output: 
Area of semicircle = 8.61982

 

Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready.




My Personal Notes arrow_drop_up
Recommended Articles
Page :