Número de triángulos formados al unir los vértices de un polígono de n lados con un lado común

Dado un polígono de N lados, necesitamos encontrar el número de triángulos formados al unir los vértices del polígono dado con exactamente un lado común.
Ejemplos:
 

Entrada:
Salida: 12 
La siguiente imagen es de un triángulo que se forma dentro de un hexágono al unir los vértices como se muestra arriba. Los dos triángulos formados tienen un lado (AB) común con el de un polígono. Muestra que con una arista de un hexágono podemos hacer dos triángulos con un lado común. No podemos tomar C o F como nuestro tercer vértice ya que hará que 2 lados sean comunes con el hexágono. 
 

Triángulo con un lado común de un hexágono

No de triángulos formados es decir igual a 12 ya que hay 6 aristas en un hexágono.
Entrada :
Salida :
 

Acercarse : 
 

  • Para hacer un triángulo con un lado común con un polígono, los dos vértices adyacentes a los vértices comunes elegidos no pueden considerarse como el tercer vértice de un triángulo.
  • Primero seleccione cualquier borde del polígono. Considere este borde como el borde común. El número de formas de seleccionar un borde en un polígono sería igual a n.
  • Ahora, para formar un triángulo, seleccione cualquiera de los (n-4) vértices que quedan. No se pueden considerar dos vértices de la arista común y dos vértices adyacentes a la arista común.
  • El número de triángulos formados al unir los vértices de un polígono de n lados con un lado común sería igual a n * (n – 4) .

A continuación se muestra la implementación del enfoque anterior: 
 

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>
Producción: 

12

 

Complejidad de tiempo: O(1)

Espacio Auxiliar: O(1)
 

Publicación traducida automáticamente

Artículo escrito por AmanSrivastava1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *