Bird
Raised Fist0
DSA C#programming~20 mins

Check if Number is Even or Odd Using Bits in DSA C# - Practice Problems & Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Bitwise Even-Odd Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ Predict Output
intermediate
2:00remaining
What is the output of this C# code using bitwise AND to check even or odd?
Look at the code below. What will it print when number = 7?
DSA C#
int number = 7;
string result = (number & 1) == 0 ? "Even" : "Odd";
Console.WriteLine(result);
A"Even"
B1
C"Odd"
D0
Attempts:
2 left
💡 Hint
The bitwise AND with 1 checks the last bit of the number.
❓ Predict Output
intermediate
2:00remaining
What is the output when number = 12 in this bitwise even/odd check?
Check the output of this code snippet:
DSA C#
int number = 12;
string result = (number & 1) == 0 ? "Even" : "Odd";
Console.WriteLine(result);
A"Odd"
B0
C12
D"Even"
Attempts:
2 left
💡 Hint
Even numbers have last bit 0 in binary.
🔧 Debug
advanced
2:00remaining
What error occurs in this C# code checking even/odd with bits?
Identify the error when running this code:
DSA C#
int number = 5;
string result = (number & 1) == 0 ? "Even" : "Odd";
Console.WriteLine(result);
ASyntaxError: missing semicolon
BTypeError: cannot apply & to int
CNo error, prints "Odd"
DRuntimeException: null reference
Attempts:
2 left
💡 Hint
Check punctuation carefully in C# statements.
❓ Predict Output
advanced
2:00remaining
What is the output of this code that uses bitwise XOR to check even or odd?
What does this print when number = 10?
DSA C#
int number = 10;
string result = ((number ^ 1) == number + 1) ? "Odd" : "Even";
Console.WriteLine(result);
A"Even"
B"Odd"
C10
D11
Attempts:
2 left
💡 Hint
XOR with 1 flips the last bit.
❓ Predict Output
expert
3:00remaining
What is the output of this C# code that uses bitwise operations to count even numbers in an array?
Given the array, how many even numbers does this code count?
DSA C#
int[] numbers = {3, 4, 7, 8, 10};
int count = 0;
foreach (int num in numbers) {
  if ((num & 1) == 0) {
    count++;
  }
}
Console.WriteLine(count);
A3
B2
C4
D5
Attempts:
2 left
💡 Hint
Count numbers whose last bit is 0.

Practice

(1/5)
1. Which bit operation can be used to check if a number is even or odd in C#?
easy
A. Using bitwise OR with 1 (number | 1)
B. Using bitwise XOR with 1 (number ^ 1)
C. Using bitwise AND with 1 (number & 1)
D. Using bitwise NOT (~number)

Solution

  1. Step 1: Understand bitwise AND with 1

    Bitwise AND with 1 checks the least significant bit of the number.
  2. Step 2: Check least significant bit for even or odd

    If the least significant bit is 0, the number is even; if 1, it is odd.
  3. Final Answer:

    Using bitwise AND with 1 (number & 1) -> Option C
  4. Quick Check:

    Least significant bit check = number & 1 [OK]
Hint: Check last bit with & 1 to find even or odd fast [OK]
Common Mistakes:
  • Using bitwise OR instead of AND
  • Using XOR which toggles bits
  • Using NOT which flips all bits
2. Which of the following C# code snippets correctly checks if num is odd using bits?
easy
A. if ((num & 1) == 0) { Console.WriteLine("Odd"); }
B. if ((num ^ 1) == 1) { Console.WriteLine("Odd"); }
C. if ((num | 1) == 1) { Console.WriteLine("Odd"); }
D. if ((num & 1) == 1) { Console.WriteLine("Odd"); }

Solution

  1. Step 1: Understand bitwise AND check for odd

    Odd numbers have least significant bit 1, so (num & 1) == 1 means odd.
  2. Step 2: Verify code logic

    if ((num & 1) == 1) { Console.WriteLine("Odd"); } prints "Odd" when (num & 1) equals 1, correctly identifying odd numbers.
  3. Final Answer:

    if ((num & 1) == 1) { Console.WriteLine("Odd"); } -> Option D
  4. Quick Check:

    Odd check = (num & 1) == 1 [OK]
Hint: Use (num & 1) == 1 to check odd numbers [OK]
Common Mistakes:
  • Checking (num & 1) == 0 for odd (actually even)
  • Using OR or XOR instead of AND
  • Confusing equality check with assignment
3. What is the output of the following C# code?
int num = 14;
if ((num & 1) == 0)
    Console.WriteLine("Even");
else
    Console.WriteLine("Odd");
medium
A. Odd
B. Even
C. 14
D. Error

Solution

  1. Step 1: Calculate bitwise AND of 14 and 1

    14 in binary is 1110; 1110 & 0001 = 0, so (num & 1) == 0 is true.
  2. Step 2: Determine output based on condition

    Since condition is true, it prints "Even".
  3. Final Answer:

    Even -> Option B
  4. Quick Check:

    14 & 1 = 0 means Even [OK]
Hint: Even numbers have last bit 0, so (num & 1) == 0 [OK]
Common Mistakes:
  • Assuming 14 is odd
  • Confusing bitwise AND with OR
  • Expecting numeric output instead of string
4. Find the error in this C# code that checks if a number is odd:
int num = 7;
if (num & 1 == 1)
    Console.WriteLine("Odd");
else
    Console.WriteLine("Even");
medium
A. Missing parentheses around (num & 1)
B. Using bitwise OR instead of AND
C. Incorrect variable type for num
D. No error, code is correct

Solution

  1. Step 1: Analyze operator precedence

    In C#, equality (==) has higher precedence than bitwise AND (&), so 'num & 1 == 1' parses as 'num & (1 == 1)', which is 'num & 1'. This does not compare (num & 1) to 1 as intended.
  2. Step 2: Identify the error

    Missing parentheses around (num & 1) causes incorrect evaluation. Correct code should be 'if ((num & 1) == 1)'.
  3. Final Answer:

    Missing parentheses around (num & 1) -> Option A
  4. Quick Check:

    Use parentheses to ensure correct precedence [OK]
Hint: C# precedence: == > & , so use parentheses to ensure correct evaluation [OK]
Common Mistakes:
  • Misjudging precedence (thinking & > ==)
  • Using bitwise OR instead of AND
  • Assuming parentheses are not required
5. You want to write a C# method that returns "Even" or "Odd" for any integer using bitwise operations. Which of these implementations is correct and efficient?
public string CheckEvenOdd(int num) {
    // Options:
    // A) return (num & 1) == 0 ? "Even" : "Odd";
    // B) return (num | 1) == 0 ? "Even" : "Odd";
    // C) return (num ^ 1) == 0 ? "Even" : "Odd";
    // D) return (~num & 1) == 0 ? "Even" : "Odd";
}
hard
A. Option A
B. Option B
C. Option C
D. Option D

Solution

  1. Step 1: Evaluate each option's logic

    Option A correctly checks if least significant bit is 0 for even; others use incorrect bitwise logic.
  2. Step 2: Confirm correctness and efficiency

    Option A uses simple bitwise AND and ternary operator, efficient and clear.
  3. Final Answer:

    Option A -> Option A
  4. Quick Check:

    Use (num & 1) == 0 for even check [OK]
Hint: Use (num & 1) == 0 ? "Even" : "Odd" for quick check [OK]
Common Mistakes:
  • Using OR or XOR which give wrong results
  • Using NOT which flips bits incorrectly
  • Ignoring ternary operator for return
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard