回答編集履歴

2

別解の追加

2019/06/20 03:03

投稿

kazuma-s
kazuma-s

スコア8224

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

コードの修正

2019/06/20 03:03

投稿

kazuma-s
kazuma-s

スコア8224

test CHANGED
@@ -6,7 +6,7 @@
6
6
 
7
7
 
8
8
 
9
- int lastBitPos(unsigned x) { return x ? (int)log2(x-1 & x ^ x) + 1 : 0; }
9
+ int lastBitPos(unsigned x) { return x ? (int)log2(x-1 ^ x) + 1 : 0; }
10
10
 
11
11
 
12
12