Escriba un programa o función que incluya una lista no vacía de enteros positivos. Puede suponer que se ingresa en un formato razonable y conveniente como "1 2 3 4"
o [1, 2, 3, 4]
.
Los números en la lista de entrada representan los segmentos de un gráfico circular completo donde cada tamaño de segmento es proporcional a su número correspondiente y todos los sectores se organizan alrededor del gráfico en el orden dado.
Por ejemplo, el pastel para 1 2 3 4
es:
La pregunta que debe responder su código es: ¿alguna vez se divide el gráfico circular ? Es decir, ¿hay alguna vez una línea perfectamente recta desde un lado del círculo al otro, dividiéndola simétricamente en dos?
Es necesario para la producción de un Truthy valor si existe al menos una bisectriz y la salida de un Falsy valor si no hay ninguno .
En el 1 2 3 4
ejemplo hay una bisección entre 4 1
y, 2 3
por lo tanto, el resultado sería verdadero.
Pero para la entrada 1 2 3 4 5
no hay bisectriz, por lo que la salida sería falsa:
Ejemplos adicionales
Organizar números de manera diferente puede eliminar las bisectrices.
por ejemplo, 2 1 3 4
falso:
Si solo hay un número en la lista de entrada, el pastel no está dividido en dos.
por ejemplo, 10
falso:
Puede haber múltiples bisectrices. Mientras haya más de cero, la salida es verdadera.
ej. 6 6 12 12 12 11 1 12
→ verdad: (hay 3 bisectrices aquí)
Las bisecciones pueden existir incluso si no son visualmente obvias.
por ejemplo, 1000000 1000001
falso:
p. ej. 1000000 1000001 1
→ verdad:
(Gracias a nces.ed.gov por generar los gráficos circulares).
Casos de prueba
Truthy
1 2 3 4
6 6 12 12 12 11 1 12
1000000 1000001 1
1 2 3
1 1
42 42
1 17 9 13 2 7 3
3 1 2
10 20 10
Falsy
1 2 3 4 5
2 1 3 4
10
1000000 1000001
1
1 2
3 1 1
1 2 1 2 1 2
10 20 10 1
Tanteo
El código más corto en bytes gana. Tiebreaker es la respuesta anterior.