Algoritmo para construir un polígono, dados N palos y sus longitudes?

En todos los casos, debe cortar los palos como máximo dos veces , así que consideremos los siguientes casos básicos:

Si solo se da un palo, entonces debemos cortarlo dos veces para hacer un triángulo.

Si se dan dos palos de longitud desigual, puede cortar un solo palo en el medio para que forme un triángulo, es decir, un triángulo isósceles, esto implica solo un corte. ¿Qué pasa si ambos palos tienen la misma longitud? Entonces, lo difícil que lo intentes nunca se convertirá en un polígono así que corta el palo en el medio y haz un cuadrado. entonces en este caso se requieren dos cortes.

Ahora veamos los casos generales donde se dan más de dos palos de longitud. por ejemplo: 3, 4, 5, por lo que no se requiere corte porque la longitud del lado es menor que la suma de los otros dos lados, por lo que esto puede llevar a un caso general. si la longitud máxima del lado es menor que la suma de todos los otros lados, entonces se requiere un corte cero; de lo contrario, se requiere un corte para formar un polígono.

Si todos los palos tienen la misma longitud, entonces cada palo subtiende un ángulo de 360 ​​/ n en el centro. Con esta información, es fácil organizar los palos para completar el polígono.

Primero calcule la suma de todos los palos y para todos los palos verifique si la longitud del enésimo palo> = suma / 2. Y si la condición es verdadera, incremente el número mínimo de cortes en uno.