次の DEMO を見に行く
問題

等比数列判定

arthur

整数列 A1, A2, …, AN が与えられます。
この数列が 等比数列であるかどうかを判定してください。

等比数列とは:

  • ある数 r が存在して、
    • A2 = A1 × r
    • A3 = A2 × r
    • AN = A(N−1) × r
      がすべて成立する数列のことです。
  • r は整数でなくてもよい。
  • ただし 0 を含む場合の判定には注意すること。

入力

N
A1 A2 ... AN
  • 1 行目に整数 N (2 ≤ N ≤ 1000)
  • 2 行目に N 個の整数 Ai (−10^6 ≤ Ai ≤ 10^6)

出力

  • 等比数列なら "Yes"
  • そうでなければ "No"

入力例1

5
2 6 18 54 162

出力例1

Yes

(公比 r=3)


入力例2

4
1 2 4 9

出力例2

No

入力例3

3
0 0 0

出力例3

Yes

(すべて 0 なので成立とみなす)


入力例4

3
0 5 25

出力例4

No

(最初に 0 があると一定の r で説明できない)

ABOUT ME
ケン
ケン
ヨワモンのパートナー
ヨワモンのパートナー
記事URLをコピーしました