Número de triángulos formados al unir los vértices de un polígono de n lados con dos lados comunes y sin lados comunes

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

Entrada: N = 6 
Salida: 6 2 
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. 
El triángulo formado tiene dos lados (AB y BC) comunes con el de un polígono. De manera similar, BC y 
CD pueden formar un triángulo. Con esto podemos decir que habrá un total de 6 triángulos posibles 
teniendo dos lados comunes con el de un polígono. La segunda imagen de un hexágono, 
se forma un triángulo sin lado común con el de un polígono. 
Solo habrá 2 triángulos posibles, BFD y ACE. 
 

Triángulo con dos lados comunes y ningún lado común del Hexágono

El número de triángulos formados es 6 y 2 con dos lados comunes y sin lado común respectivamente.
Entrada: N = 7 
Salida: 7 7 
 

Acercarse : 
 

  • Para hacer que un triángulo tenga dos lados comunes con un polígono, tomaremos un lado cualquiera de un polígono de n lados, tomaremos un vértice del lado elegido y uniremos una arista adyacente al vértice del otro vértice.
  • Atravesando cada vértice y uniendo una arista adyacente al vértice del otro vértice, habrá N número de triángulos que tienen dos lados en común.
  • Ahora, para calcular el número de triángulos sin lado común resta el número total de triángulos con un lado común y el número total de triángulos con dos lados del número total de triángulos posibles en un polígono.
  • Triángulos sin lado común = Triángulos totales ( n C 3 ) – triángulos comunes de un lado ( n * ( n – 4 ) – triángulos comunes de dos lados ( n ).
  • Por lo tanto, el número de triángulos sin lado común con el polígono sería igual a n * ( n – 4 ) * ( n – 5 ) / 6.

Nota: Para calcular el número de triángulos que tienen un lado común con el de un polígono, haga clic aquí
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 = n;
 
    // print the number of triangles
    // having two side common
    cout << num << " ";
 
    // print the number of triangles
    // having no side common
    cout << num * (num - 4) * (num - 5) / 6;
}
 
// 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
import java.io.*;
 
class GFG
{
 
 
// Function to find the number of triangles
static void findTriangles(int n)
{
    int num = n;
 
    // print the number of triangles
    // having two side common
    System.out.print( num + " ");
 
    // print the number of triangles
    // having no side common
    System.out.print( num * (num - 4) * (num - 5) / 6);
}
 
// 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 anuj_67..

Python3

# Python3 program to implement
# the above problem
 
# Function to find the number of triangles
def findTriangles(n):
    num = n
     
 
    # print the number of triangles
    # having two side common
    print(num, end = " ")
 
    # print the number of triangles
    # having no side common
    print(num * (num - 4) * (num - 5) // 6)
 
# Driver code
 
# initialize the number
# of sides of a polygon
n = 6;
 
findTriangles(n)
 
# This code is contributed by Mohit Kumar

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 = n;
 
    // print the number of triangles
    // having two side common
    Console.Write( num + " ");
 
    // print the number of triangles
    // having no side common
    Console.WriteLine( num * (num - 4) * (num - 5) / 6);
}
 
// 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 anuj_67..

Javascript

<script>
 
// javascript program to implement
// the above problem
 
// Function to find the number of triangles
 
function findTriangles(n)
{
    var num = n;
 
    // print the number of triangles
    // having two side common
    document.write( num + " ");
 
    // print the number of triangles
    // having no side common
    document.write( num * (num - 4) * (num - 5) / 6);
}
 
// Driver code
// initialize the number
// of sides of a polygon
var n;
n = 6;
 
findTriangles(n);
 
 
// This code is contributed by 29AjayKumar
 
</script>
Producción: 

6 2

 

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 *