Viết chương trình hoặc hàm có trong danh sách số nguyên dương. Bạn có thể cho rằng nó là đầu vào trong một định dạng thuận tiện hợp lý như "1 2 3 4"
hoặc [1, 2, 3, 4]
.
Các số trong danh sách đầu vào biểu thị các lát của biểu đồ hình tròn đầy đủ trong đó mỗi kích thước lát tỷ lệ với số tương ứng của nó và tất cả các lát được sắp xếp xung quanh biểu đồ theo thứ tự cho trước.
Ví dụ, chiếc bánh cho 1 2 3 4
:
Câu hỏi mà mã của bạn phải trả lời là: Biểu đồ hình tròn có bị cắt đôi không? Đó là, có bao giờ một đường thẳng hoàn hảo từ một bên của vòng tròn sang bên kia, chia nó đối xứng thành hai?
Bạn cần phải ra một truthy giá trị nếu có ít nhất một phân giác và đầu ra một falsy giá trị nếu có không .
Trong 1 2 3 4
ví dụ này có một sự phân chia giữa 4 1
và 2 3
do đó đầu ra sẽ là sự thật.
Nhưng đối với đầu vào 1 2 3 4 5
không có bisector nên đầu ra sẽ bị sai lệch:
Ví dụ bổ sung
Sắp xếp các số khác nhau có thể loại bỏ bisector.
ví dụ 2 1 3 4
→ giả
Nếu chỉ có một số trong danh sách đầu vào, chiếc bánh không bị cắt đôi.
ví dụ 10
→ giả
Có thể có nhiều người chia nhỏ. Miễn là có nhiều hơn 0 thì đầu ra là trung thực.
ví dụ 6 6 12 12 12 11 1 12
→ sự thật: (có 3 người chia nhỏ ở đây)
Sự sai lệch có thể tồn tại ngay cả khi chúng không rõ ràng.
ví dụ 1000000 1000001
→ giả
ví dụ 1000000 1000001 1
→ sự thật:
(Cảm ơn nces.ed.gov vì đã tạo các biểu đồ hình tròn.)
Các trường hợp thử nghiệm
Truthy
1 2 3 4
6 6 12 12 12 11 1 12
1000000 1000001 1
1 2 3
1 1
42 42
1 17 9 13 2 7 3
3 1 2
10 20 10
Falsy
1 2 3 4 5
2 1 3 4
10
1000000 1000001
1
1 2
3 1 1
1 2 1 2 1 2
10 20 10 1
Chấm điểm
Mã ngắn nhất tính bằng byte thắng. Tiebreaker là câu trả lời trước đó.