Skip to content

Commit a3f753d

Browse files
authored
Update check_even_odd.cpp
modified
1 parent 66f3e41 commit a3f753d

File tree

1 file changed

+24
-12
lines changed

1 file changed

+24
-12
lines changed

bit_manipulation/check_even_odd.cpp

Lines changed: 24 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,18 @@
1313
* - If (N & 1) == 0, N is even.
1414
* - If (N & 1) == 1, N is odd.
1515
*
16+
* Example:
17+
* Consider 8-bit binary representations of two numbers:
18+
* Number: 10 (decimal) -> 00001010 (binary)
19+
* LSB = 0 -> Even number
20+
*
21+
* Number: 13 (decimal) -> 00001101 (binary)
22+
* LSB = 1 -> Odd number
23+
*
24+
* In both cases, evaluating (N & 1) isolates the LSB:
25+
* - For 10: 00001010 & 00000001 = 0 (Even)
26+
* - For 13: 00001101 & 00000001 = 1 (Odd)
27+
*
1628
* Worst Case Time Complexity: O(1)
1729
* Space Complexity: O(1)
1830
*
@@ -41,7 +53,7 @@ namespace even_odd {
4153
* @returns "Even" if N is even, "Odd" if N is odd.
4254
*/
4355
std::string is_even(std::int64_t N) {
44-
return (N & 1) == 0;
56+
return (N & 1) == 0 ? "Even" : "Odd";
4557
}
4658

4759
} // namespace even_odd
@@ -52,21 +64,21 @@ namespace even_odd {
5264
* @returns void
5365
*/
5466
static void test() {
55-
using bit_manipulation::even_odd::checkEvenOdd;
67+
using bit_manipulation::even_odd::is_even;
5668

5769
// Test Even numbers
58-
assert(checkEvenOdd(0) == "Even");
59-
assert(checkEvenOdd(2) == "Even");
60-
assert(checkEvenOdd(100) == "Even");
61-
assert(checkEvenOdd(-4) == "Even");
62-
assert(checkEvenOdd(-1000) == "Even");
70+
assert(is_even(0) == "Even");
71+
assert(is_even(2) == "Even");
72+
assert(is_even(100) == "Even");
73+
assert(is_even(-4) == "Even");
74+
assert(is_even(-1000) == "Even");
6375

6476
// Test Odd numbers
65-
assert(checkEvenOdd(1) == "Odd");
66-
assert(checkEvenOdd(3) == "Odd");
67-
assert(checkEvenOdd(101) == "Odd");
68-
assert(checkEvenOdd(-5) == "Odd");
69-
assert(checkEvenOdd(-999) == "Odd");
77+
assert(is_even(1) == "Odd");
78+
assert(is_even(3) == "Odd");
79+
assert(is_even(101) == "Odd");
80+
assert(is_even(-5) == "Odd");
81+
assert(is_even(-999) == "Odd");
7082

7183
std::cout << "All test cases successfully passed!" << std::endl;
7284
}

0 commit comments

Comments
 (0)