回答編集履歴
2
別解の追加
test
CHANGED
@@ -15,3 +15,9 @@
|
|
15
15
|
```
|
16
16
|
|
17
17
|
1 がない場合 0 を返します。
|
18
|
+
|
19
|
+
|
20
|
+
|
21
|
+
[追記]
|
22
|
+
|
23
|
+
log2(x-1 ^ x) は log2(-x & x) でも構いません。
|
1
コードの修正
test
CHANGED
@@ -6,7 +6,7 @@
|
|
6
6
|
|
7
7
|
|
8
8
|
|
9
|
-
int lastBitPos(unsigned x) { return x ? (int)log2(x-1
|
9
|
+
int lastBitPos(unsigned x) { return x ? (int)log2(x-1 ^ x) + 1 : 0; }
|
10
10
|
|
11
11
|
|
12
12
|
|