前提・実現したいこと
AtCoder「ABC 045 C たくさんの数式」(https://atcoder.jp/contests/arc061/tasks/arc061_a)の回答例を見ていました。
回答例のなかに、「+」を追加するかどうかを判定するif条件が書かれているのですが、
この条件の判定基準が理解できていないので解説をしていただきたいです。
また、実際にデバックすると、このif文の部分は
1 & 2 だとfalse
2 & 2 だとtrue
3 & 1 だとtrue
3 & 2 だとtrue
となるのですが、なぜ1 & 2の時だけfalseになるのかもあわせて教えていただけると幸いです、
該当のソースコード
python
1s = input() 2n = len(s) 3 4ans = 0 5 6for bit in range(1 << (n - 1)): 7 f = s[0] 8 9 for i in range(n - 1): 10 # ここのif文の判定基準が理解できていません。 11 if bit & (1 << i): 12 f += "+" 13 f += s[i + 1] 14 15 ans += sum(map(int, f.split("+"))) 16 17print(ans)
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。