Skip to content
Related Articles

Related Articles

Number of triangles formed by joining vertices of n-sided polygon with one side common

View Discussion
Improve Article
Save Article
  • Difficulty Level : Easy
  • Last Updated : 31 May, 2022

Given N-sided polygon we need to find the number of triangles formed by joining the vertices of the given polygon with exactly one side being common.
Examples:
 

Input :
Output : 12 
The image below is of a triangle forming inside a Hexagon by joining vertices as shown above. The two triangles formed has one side (AB) common with that of a polygon.It depicts that with one edge of a hexagon we can make two triangles with one side common. We can’t take C or F as our third vertex as it will make 2 sides common with the hexagon. 
 

Triangle with one side common of a hexagon

No of triangles formed ie equal to 12 as there are 6 edges in a hexagon.
Input :
Output :
 

 

Approach : 
 

  • To make a triangle with one side common with a polygon the two vertices adjacent to the chosen common vertices cannot be considered as the third vertex of a triangle.
  • First select any one edge from the polygon. Consider this edge to be the common edge. Number of ways to select an edge in a polygon would be equal to n.
  • Now ,to form a triangle ,select any of the (n-4) vertices left .Two vertices of the common edge and two vertices adjacent to the common edge cannot be considered.
  • Number of triangle formed by joining the vertices of an n-sided polygon with one side common would be equal to n * ( n – 4) .

Below is the implementation of the above approach: 
 

C++




// C++ program to implement
// the above problem
#include <bits/stdc++.h>
using namespace std;
 
// Function to find the number of triangles
void findTriangles(int n)
{
    int num;
    num = n * (n - 4);
 
    // print the number of triangles
    cout << num;
}
 
// Driver code
int main()
{
    // initialize the number of sides of a polygon
    int n;
    n = 6;
 
    findTriangles(n);
 
    return 0;
}

Java




// Java program to implement
// the above problem
class GFG
{
     
// Function to find the number of triangles
static void findTriangles(int n)
{
    int num;
    num = n * (n - 4);
 
    // print the number of triangles
    System.out.println(num);
}
 
// Driver code
public static void main(String [] args)
{
    // initialize the number of sides of a polygon
    int n;
    n = 6;
 
    findTriangles(n);
 
}
}
 
// This code is contributed by ihritik

Python3




# Python3 program to implement
# the above problem
 
# Function to find the number of triangles
def findTriangles(n):
    num = n * (n - 4)
 
    # print the number of triangles
    print(num)
 
# Driver code
# initialize the number of sides of a polygon
n = 6
 
findTriangles(n)
 
# This code is contributed by mohit kumar 29

C#




// C# program to implement
// the above problem
using System;
 
class GFG
{
     
// Function to find the number of triangles
static void findTriangles(int n)
{
    int num;
    num = n * (n - 4);
 
    // print the number of triangles
    Console.WriteLine(num);
}
 
// Driver code
public static void Main()
{
    // initialize the number of sides of a polygon
    int n;
    n = 6;
 
    findTriangles(n);
 
}
}
 
// This code is contributed by ihritik

Javascript




<script>
 
// JavaScript program to implement
// the above problem
 
     
// Function to find the number of triangles
function findTriangles(n)
{
    var num;
    num = n * (n - 4);
 
    // print the number of triangles
    document.write(num);
}
 
// Driver code
 
// initialize the number of sides of a polygon
var n;
n = 6;
 
findTriangles(n);
 
 
// This code contributed by shikhasingrajput
 
</script>

Output: 

12

 

Time Complexity: O(1)

Auxiliary Space: O(1)
 


My Personal Notes arrow_drop_up
Recommended Articles
Page :

Start Your Coding Journey Now!