Напишіть програму або функцію, яка містить непорожній список натуральних чисел. Ви можете припустити, що він введений у прийнятному зручному форматі, наприклад, "1 2 3 4"
або [1, 2, 3, 4]
.
Цифри у вхідному списку представляють фрагменти повної діаграми пирога, де розмір кожного шматочка пропорційний його відповідній кількості, а всі скибочки розташовані навколо діаграми у наведеному порядку.
Наприклад, пиріг для 1 2 3 4
:
Питання, на яке повинен відповісти ваш код, таке: чи кругова діаграма колись поділена ? Тобто, чи існує колись ідеально пряма лінія з однієї сторони кола до іншої, розділяючи її симетрично на два?
Вам потрібно вивести триєдне значення, якщо є принаймні один бісектриса, і вивести помилкове значення, якщо такого немає .
У 1 2 3 4
прикладі є бісекція між, 4 1
і 2 3
таким чином вихід був би правдивим.
Але для введення 1 2 3 4 5
немає бісектриси, тому вихід буде хибним:
Додаткові приклади
Впорядкування чисел по-різному може видалити бісектриси.
наприклад 2 1 3 4
→ фальш:
Якщо у вхідному списку є лише одне число, пиріг не розбивається.
наприклад 10
→ фальш:
Може бути кілька бісектрис. Поки є більше нуля, вихід є правдоподібним.
наприклад 6 6 12 12 12 11 1 12
→ truthy: (тут є три бісектриси)
Бісекції можуть існувати, навіть якщо вони не візуально очевидні.
наприклад 1000000 1000001
→ фальш:
наприклад 1000000 1000001 1
→ truthy:
(Дякуємо nces.ed.gov за створення пирогів.)
Випробування
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
Оцінка балів
Виграє найкоротший код у байтах. Тирбейкер - це відповідь раніше.