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: 6
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.
No de triángulos formados es decir igual a 12 ya que hay 6 aristas en un hexágono.
Entrada : 5
Salida : 5
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>
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