Bài toán hình học

Đề bài

Mô tả

Một cấp số nhân là dãy hữu hạn a1,a2,,ak trong đó tồn tại hai số thực cb sao cho ai=c·bi1 với mọi 1ik.

Ví dụ, các dãy [2,4,8], [0,0,0,0], [199] là cấp số nhân, còn [0,1,2,3] thì không.

Cho một dãy số nguyên. Hãy phân loại dãy này theo quy tắc sau:

  • In ra 0 nếu dãy đã cho là cấp số nhân.
  • In ra 1 nếu dãy không phải là cấp số nhân, nhưng có thể xóa đúng một phần tử để dãy còn lại trở thành cấp số nhân.
  • In ra 2 trong trường hợp còn lại.

Lưu ý rằng dãy có độ dài 1 luôn là cấp số nhân (chọn c bằng phần tử đó, b tùy ý).

Dữ liệu vào

  • Dòng đầu chứa một số nguyên n — số phần tử của dãy.
  • Dòng thứ hai chứa n số nguyên cách nhau bởi khoảng trắng.

Dữ liệu ra

  • In ra một số nguyên 0, 1 hoặc 2 theo quy tắc nêu trên.

Ràng buộc

  • 1n105
  • Giá trị tuyệt đối của mỗi phần tử không vượt quá 104.

Ví dụ

Input Output Giải thích
4
3 6 12 24
0 Dãy là cấp số nhân với c=3, b=2.
4
-8 -16 24 -32
1 Xóa phần tử 24, dãy còn lại 8,16,32 là cấp số nhân (b=2).
4
0 1 2 3
2 Không thể trở thành cấp số nhân kể cả khi xóa một phần tử (vì phần tử đầu 0 buộc c=0, tức cả dãy phải bằng 0).

Bình luận

Không có bình luận tại thời điểm này.

gnatmake 12.2.0 a68g 3.1.2 nasm 2.16.1 as_x64 2.47 awk 1.3.4 gcc 16.2.0 dotnet 10.0.400 g++ 16.2.0 g++-themis 16.2.0 g++17 16.2.0 g++20 16.2.0 g++23 16.2.0 clang++ 22.1.8 dmd 2.113.0 dart 3.13.2 gforth 0.7.3 gfortran 12.2.0 go 1.27.0 groovyc 5.1.1 javac 25.0.4 node 26.8.1 julia 1.12.7 kotlinc 2.4.10 lean 4.33.1 sbcl 2.2.9 lua 5.4.9 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.10 pike 8.0 swipl 9.0.4 pypy3 7.3.23 python3 3.14.7 racket 8.7 ruby 4.0.6 rustc 1.98.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 swiftc 6.3.3 tclsh 8.6 bun 1.4.0 deno 2.9.6 v 0.5.2 zig 0.16.0