仕事
線の表現が与えられたら、その線が通過する象限の数を出力します。
線の有効な表現
次のように線を表すことができます
- 三つの符号付き整数
A
、B
およびC
共通因数を共有しない、どこでどのA
とB
ラインを表し、両方ともゼロではありませんAx + By = C
、 - 四つの符号付き整数、、、および、点を通る直線を表すと、または
X1
Y1
X2
Y2
(X1, Y1)
(X2, Y2)
- 言語に行がある場合、行を記述するデータ型(縦線をサポートする必要があります)。
垂直線を許可しない形式(傾斜切片形式など)で入力を行うことはできません。入力として整数を使用することを選択した場合、整数が包括的範囲にあると想定できます[-127, 128]
。
仕様書
- 出力は常に0、2、または3になります(ラインは4つの象限すべてを通過することはできず、1つの象限だけを通過することもできません)。
- 軸上の線は、象限を通過しないと見なされます。原点を通る線は、2つの象限のみを通過すると見なされます。
- どのクアドラントがパススルーされているかを返す必要はありません(ただし、明確にするためにテストケースにはそれらが含まれています)。
- これはcode-golfなので、最短の有効な回答(バイト単位で測定)が勝ちます。
テストケース
これらを使用する前に、適切な形式に変換する必要があります。
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)