Largest triangle that can be inscribed in a semicircle
Last Updated :
31 Aug, 2022
Given a semicircle with radius r, we have to find the largest triangle that can be inscribed in the semicircle, with base lying on the diameter.
Examples:
Input: r = 5
Output: 25
Input: r = 8
Output: 64

Approach: From the figure, we can clearly understand the biggest triangle that can be inscribed in the semicircle has height r. Also, we know the base has length 2r. So the triangle is an isosceles triangle.
So, Area A: = (base * height)/2 = (2r * r)/2 = r^2
Below is the implementation of above approach:
C++
// C++ Program to find the biggest triangle
// which can be inscribed within the semicircle
#include <bits/stdc++.h>
using namespace std;
// Function to find the area
// of the triangle
float trianglearea(float r)
{
// the radius cannot be negative
if (r < 0)
return -1;
// area of the triangle
return r * r;
}
// Driver code
int main()
{
float r = 5;
cout << trianglearea(r) << endl;
return 0;
}
Java
// Java Program to find the biggest triangle
// which can be inscribed within the semicircle
import java.io.*;
class GFG {
// Function to find the area
// of the triangle
static float trianglearea(float r)
{
// the radius cannot be negative
if (r < 0)
return -1;
// area of the triangle
return r * r;
}
// Driver code
public static void main (String[] args) {
float r = 5;
System.out.println( trianglearea(r));
}
}
// This code is contributed
// by chandan_jnu.
Python 3
# Python 3 Program to find the biggest triangle
# which can be inscribed within the semicircle
# Function to find the area
# of the triangle
def trianglearea(r) :
# the radius cannot be negative
if r < 0 :
return -1
# area of the triangle
return r * r
# Driver Code
if __name__ == "__main__" :
r = 5
print(trianglearea(r))
# This code is contributed by ANKITRAI1
C#
// C# Program to find the biggest
// triangle which can be inscribed
// within the semicircle
using System;
class GFG
{
// Function to find the area
// of the triangle
static float trianglearea(float r)
{
// the radius cannot be negative
if (r < 0)
return -1;
// area of the triangle
return r * r;
}
// Driver code
public static void Main ()
{
float r = 5;
Console.Write(trianglearea(r));
}
}
// This code is contributed
// by ChitraNayal
PHP
<?php
// PHP Program to find the biggest
// triangle which can be inscribed
// within the semicircle
// Function to find the area
// of the triangle
function trianglearea($r)
{
// the radius cannot be negative
if ($r < 0)
return -1;
// area of the triangle
return $r * $r;
}
// Driver code
$r = 5;
echo trianglearea($r);
// This code is contributed
// by inder_verma
?>
JavaScript
<script>
// javascript Program to find the biggest triangle
// which can be inscribed within the semicircle
// Function to find the area
// of the triangle
function trianglearea(r)
{
// the radius cannot be negative
if (r < 0)
return -1;
// area of the triangle
return r * r;
}
// Driver code
var r = 5;
document.write( trianglearea(r));
// This code contributed by Princi Singh
</script>
Time complexity: O(1) as it is performing constant operations
Auxiliary Space: O(1)
Explore
DSA Fundamentals
Data Structures
Algorithms
Advanced
Interview Preparation
Practice Problem