Swiftでの実装方法だけを知りたい方のために先にコードを示す。 let n = 3 for i in 0..<(1<<n) { var result: [Int] = [] for j in 0..<n { if (i & (1<<j)) > 0 { result.append(i) } } // 結果出力 result.forEach { print($0) } } bit全探索とは? bit全探索は部分集合をすべて求める時などに利用できるアルゴリズムである。bit演算を用いて解を求める。 0~2の部分集合である({}, {0}, {1}, {0 1}, {2}, {0 2}, {1 2}, {0 1 2})を全て求める時などに利用できる。 仕組みを理解する カレーに入れる野菜を決めたいとする。手元には、じゃがいも、たまねぎ、にんじんがある。入れるパターンとしては、 何も入れないにんじ