Tarea
Dada una representación de una línea, genera el número de cuadrantes por los que pasa esa línea.
Representaciones válidas de una línea
Puedes representar una línea como
- Tres enteros con signo
A
,B
yC
los que no comparten factor común y dondeA
yB
no son ambos cero, que representa la líneaAx + By = C
, - Cuatro enteros con signo , , , y , que representa la línea que pasa a través de los puntos y , o
X1
Y1
X2
Y2
(X1, Y1)
(X2, Y2)
- Un tipo de datos que describe una línea, si su idioma tiene una (debe admitir líneas verticales).
Es posible que no tomar la entrada en cualquier formato que no permite por una línea vertical (por ejemplo, la forma pendiente-intersección). Si elige tomar enteros como entrada, puede suponer que se encuentran en el rango inclusivo [-127, 128]
.
Especificaciones
- La salida siempre será 0, 2 o 3 (una línea nunca puede pasar por los cuatro cuadrantes, ni puede pasar por uno solo).
- Se considera que una línea en un eje no pasa por ningún cuadrante. Se considera que una línea a través del origen solo pasa a través de 2 cuadrantes.
- No tiene que devolver qué cuadrantes se están pasando (aunque los casos de prueba los incluyen para mayor claridad).
- Este es el código de golf , por lo que gana la respuesta válida más corta (medida en bytes).
Casos de prueba
Tendrá que convertirlos a un formato adecuado antes de usarlos.
1x + 1y = 1 -> 3 (quadrants I, II, and IV)
-2x + 3y = 1 -> 3 (quadrants I, II, and III)
2x + -3y = 0 -> 2 (quadrants III and I)
1x + 1y = 0 -> 2 (quadrants II and IV)
3x + 0y = 6 -> 2 (quadrants I and IV)
-3x + 0y = 5 -> 2 (quadrants II and III)
0x + -8y = 4 -> 2 (quadrants III and IV)
0x + 1y = 0 -> 0 (lies on the x-axis)
1x + 0y = 0 -> 0 (lies on the y-axis)