正の整数の空でないリストを取り込むプログラムまたは関数を作成します。"1 2 3 4"
またはなどの合理的で便利な形式で入力されていると想定できます[1, 2, 3, 4]
。
入力リストの数値は、円グラフ全体のスライスを表します。各スライスサイズは対応する数値に比例し、すべてのスライスは指定された順序でグラフの周囲に配置されます。
たとえば、次のパイ1 2 3 4
は次のとおりです。
あなたのコードが答えなければならない問題は、円グラフが今までされてい二分しますか?つまり、円の一方の側から他方の側に完全に直線があり、対称的に2つに分割されていますか?
あなたはする必要があり、出力truthyの少なくとも一つの二等分線と出力がある場合に値をfalsy何も存在しない場合、値。
で1 2 3 4
例との二分がある4 1
と2 3
出力truthyであろうように。
ただし、入力の1 2 3 4 5
場合は二等分線がないため、出力は偽になります。
追加の例
数値を異なる方法で配置すると、二等分線が削除される場合があります。
例2 1 3 4
→偽:
入力リストに数字が1つしかない場合、パイは二等分されません。
例10
→偽:
複数の二等分線が存在する場合があります。ゼロ以上である限り、出力は真実です。
例6 6 12 12 12 11 1 12
→真実:(3つの二等分線があります)
視覚的に明らかではない場合でも、2分割が存在する場合があります。
例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は以前の回答です。