Dada una array arr[] de N elementos, donde cada elemento representa un ángulo (en grados) de un polígono, la tarea es verificar si es posible hacer un polígono de N lados con todos los ángulos dados o no. Si es posible, imprima Sí ; de lo contrario, imprima No.
Ejemplos:
Entrada: N = 3, arr[] = {60, 60, 60}
Salida: Sí
Explicación: Existe un triángulo (es decir, un polígono) que satisface los ángulos anteriores. Por lo tanto, la salida es Sí.Entrada: N = 4, arr[] = {90, 90, 90, 100}
Salida: No
Explicación: No existe ningún polígono que satisfaga los ángulos anteriores. Por lo tanto, la salida es No.
Enfoque: un polígono de N lados solo es posible si la suma de todos los ángulos dados es igual a 180*(N-2) . Por lo tanto, el idus es encontrar la suma de todos los ángulos dados en la array arr[] y si la suma es igual a 180*(N-2) , entonces imprima Sí , de lo contrario imprima No.
A continuación se muestra la implementación del enfoque anterior:
C++
// C++ program for the above approach #include <iostream> using namespace std; // Function to check if the polygon // exists or not void checkValidPolygon(int arr[], int N) { // Initialize a variable to // store the sum of angles int sum = 0; // Loop through the array and // calculate the sum of angles for (int i = 0; i < N; i++) { sum += arr[i]; } // Check the condition for // an N-side polygon if (sum == 180 * (N - 2)) cout << "Yes"; else cout << "No"; } // Driver Code int main() { int N = 3; // Given array arr[] int arr[] = { 60, 60, 60 }; // Function Call checkValidPolygon(arr, N); return 0; }
Java
// Java program for the above approach import java.util.*; class GFG{ // Function to check if the polygon // exists or not static void checkValidPolygon(int arr[], int N) { // Initialize a variable to // store the sum of angles int sum = 0; // Loop through the array and // calculate the sum of angles for(int i = 0; i < N; i++) { sum += arr[i]; } // Check the condition for // an N-side polygon if (sum == 180 * (N - 2)) System.out.println("Yes"); else System.out.println("No"); } // Driver code public static void main(String[] args) { int N = 3; // Given array arr[] int arr[] = { 60, 60, 60 }; // Function call checkValidPolygon(arr, N); } } // This code is contributed by offbeat
Python3
# Python3 program for the above approach # Function to check if the polygon # exists or not def checkValidPolygon(arr, N): # Initialize a variable to # store the sum of angles Sum = 0 # Loop through the array and # calculate the sum of angles for i in range(N): Sum += arr[i] # Check the condition for # an N-side polygon if Sum == 180 * (N - 2): print("Yes") else: print("No") # Driver Code N = 3 # Given array arr[] arr = [ 60, 60, 60 ] # Function Call checkValidPolygon(arr, N) # This code is contributed by divyeshrabadiya07
C#
// C# program for the above approach using System; class GFG{ // Function to check if the polygon // exists or not static void checkValidPolygon(int []arr, int N) { // Initialize a variable to // store the sum of angles int sum = 0; // Loop through the array and // calculate the sum of angles for(int i = 0; i < N; i++) { sum += arr[i]; } // Check the condition for // an N-side polygon if (sum == 180 * (N - 2)) Console.Write("Yes"); else Console.Write("No"); } // Driver code public static void Main(string[] args) { int N = 3; // Given array arr[] int []arr = { 60, 60, 60 }; // Function call checkValidPolygon(arr, N); } } // This code is contributed by rutvik_56
Javascript
<script> // Javascript program for the above approach // Function to check if the polygon // exists or not function checkValidPolygon(arr, N) { // Initialize a variable to // store the sum of angles var sum = 0; // Loop through the array and // calculate the sum of angles for(var i = 0; i < N; i++) { sum += arr[i]; } // Check the condition for // an N-side polygon if (sum == 180 * (N - 2)) document.write("Yes"); else document.write("No"); } // Driver code var N = 3; // Given array arr[] var arr = [ 60, 60, 60 ]; // Function call checkValidPolygon(arr, N); // This code is contributed by Kirti </script>
Yes
Complejidad de tiempo: O(N), donde N es la longitud de la array.
Espacio Auxiliar: O(1)
Publicación traducida automáticamente
Artículo escrito por gjaiswal108 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA