비어 있지 않은 양의 정수 목록을 취하는 프로그램이나 함수를 작성하십시오. "1 2 3 4"
또는 과 같은 편리한 형식으로 입력되었다고 가정 할 수 있습니다 [1, 2, 3, 4]
.
입력 목록의 숫자는 각 조각 크기가 해당 숫자에 비례하고 모든 조각이 주어진 순서대로 차트 주위에 배열 되는 전체 원형 차트 의 조각을 나타냅니다 .
예를 들어, 파이 1 2 3 4
는 다음과 같습니다.
코드에서 대답해야 할 질문은 다음과 같습니다 . 원형 차트가 이등분 되었습니까? 즉, 원의 한쪽에서 다른쪽으로 완벽하게 직선이 생겨 대칭으로 두 개로 분할됩니까?
당신은 필요 출력 truthy의 적어도 하나의 이등분선과 출력이있는 경우 값을 falsy 아무것도 존재하지 않는 경우는 값 .
에서 1 2 3 4
예 간의 이분법 존재 4 1
하고 2 3
출력 truthy 것 때문에이.
그러나 입력의 1 2 3 4 5
경우 이등분선이 없으므로 출력이 잘못됩니다.
추가 예
숫자를 다르게 배열하면 이등분선이 제거 될 수 있습니다.
예 : 2 1 3 4
→ 허위 :
입력 목록에 하나의 숫자 만 있으면 파이는 이등분되지 않습니다.
예 : 10
→ 허위 :
이등분선이 여러 개있을 수 있습니다. 0보다 많으면 출력이 진실입니다.
예 6 6 12 12 12 11 1 12
→ 진실 : (여기에 3 개의 이등분자가 있습니다)
시각적으로 명확하지 않은 경우에도 이분법이 존재할 수 있습니다.
예 : 1000000 1000001
→ 허위 :
예 : 1000000 1000001 1
→ 진실 :
( 원형 차트를 생성 한 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
채점
바이트 단위의 가장 짧은 코드가 이깁니다. Tiebreaker가 이전 답변입니다.