페이지가 로드되지 않나요? 여기를 눌러보면 고쳐질 수도 있어요.
Placeholder

#2374

등비수열 1s - MB

문제

임의의 정수 수열 이 주어졌을 때 다음을 판별하는 프로그램을 작성하라.

* 해당 수열이 등비 수열인가( 여기서 등비 수열이란, ai = c * b(i-1)를 만족하는 수열을 뜻하며, 앞의 식에서 c와 b는 임의의 정수다. ) * 아닐 경우 위의 수열의 숫자 하나를 없앴을 경우 등비 수열이 되는가. * 위의 두 경우를 만족하지 않는 경우.

예를 들어

<2, -4, 8> 의 경우 c = 2, b = -2를 가지는 등비수열이 되며, <0, 0, 0, 0> 의 경우에는 c = 0, b = 0인 등비수열이 가능하다. < 2, 4, 8, 17, 16 > 의 경우 등비수열이 아니나, 17을 제거할 경우 c = 2, b = 2를 가지는 등비 수열이 가능하다.


입력

입력은 여러개의 테스트 케이스로 이뤄지며 입력의 첫 줄에는 테스트 케이스의 수 T가 입력된다. T는 1이상 10이하의 정수다.

각 테스트 케이스의 첫 줄에는 수열을 이루는 정수의 개수 n(1≤n≤105)이 입력된다.

각 테스트 케이스의 둘째 줄에는 n개의 -104 이상 104 이하의 정수가 차례대로 입력되는데 입력되는 순서대로 a1 a2 … an을 뜻한다.


출력

입력에 대해서 맨 처음의 조건을 만족할 경우 0을 출력한다.

첫 조건을 만족하지 못하고 두번째 조건을 만족할 경우 1을 출력하고 두 경우 다 만족하지 못할 경우 2를 출력한다.


예제

3

4
3 6 12 24
4
-8 -16 24 -32
4
0 1 2 3
12
로그인해야 코드를 작성할 수 있어요.