隣合うbitのチェック
実装例
Misteerさんのコードを眺めてたら賢いと思ったので記録。
i番目とi+1番目のbitが立っていること独立にやるのではなく(b >> i) % 4 == 3
でチェックする。賢い。
※ 元コードだとvalidationだけど加算に書き換えている。
int w = 8; int sum = 0; for (int b = 0; b < (1 << (w - 1)); ++b) { for (int i = 0; i < w - 2; ++i) { if ((b >> i) % 4 == 3) sum++; } }