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> |
25
Time complexity: O(1) as it is performing constant operations
Auxiliary Space: O(1)
Ready to dive in? Explore our Free Demo Content and join our DSA course, trusted by over 100,000 neveropen!