Skip to content

Commit abdec9b

Browse files
committed
Added another solution
1 parent eea2bb1 commit abdec9b

File tree

1 file changed

+14
-0
lines changed

1 file changed

+14
-0
lines changed

codes/num_ones.mojo

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,13 @@ fn count_bits(mut num: Int) -> Int:
77
num = num >> 1
88
return result
99

10+
fn count_bits2(mut num: Int) -> Int:
11+
result = 0
12+
while num:
13+
result += num & 1
14+
num >>= 1
15+
return result
16+
1017
from testing import assert_equal
1118

1219
fn main() raises:
@@ -16,3 +23,10 @@ fn main() raises:
1623
assert_equal(1, count_bits(num))
1724
num = 2147483645
1825
assert_equal(30, count_bits(num))
26+
27+
num = 11
28+
assert_equal(3, count_bits2(num))
29+
num = 128
30+
assert_equal(1, count_bits2(num))
31+
num = 2147483645
32+
assert_equal(30, count_bits2(num))

0 commit comments

Comments
 (0)