回答編集履歴

1 誤字

katoy

katoy score 21463

2019/03/23 23:21  投稿

y.py
```python3
p_sets = []
n = 3
for i in range(2 ** n):
 lst = [x + 1 for x in range(i) if 2 **x & i]
 p_sets.append(lst)
print(sorted(p_sets, key=lambda x: len(x)))
```
実行例
![イメージ説明](07bece106859f49c0e3f5f16342d9fbe.png)
求める集合の要素の数は 2 ** n です。
数字 0 から 2 ** n - 1 に対応する要素を次のようにして求めます。
求める集合の要素の数は 2 ** n です。
数字 0 から 2 ** n - 1 に対応する要素を次のようにして求めます。
- 数字を 2 進数で表したときの 1, 0 が、要素に含まれている/いない

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る