Check a number is odd or even without modulus operator - GeeksforGeeks

11 May, 2021
Given a number, check whether it is even or odd.
Examples : 
Input: n = 11
Output: Odd

Input: n = 10
Output: Even
 
Method 1: Using Loop. The idea is to start with a boolean flag variable as true and switch it n times. If flag variable gets original value (which is true) back, then n is even. Else n is false.
Below is the implementation of this idea.  
C++
Java
Python3
C#
PHP
Javascript
// A simple C++ program to check for// even or odd#include <iostream>using namespace std; // Returns true if n is even, else oddbool isEven(int n){    bool isEven = true;    for (int i=1;  i <= n; i++)        isEven = !isEven;    return isEven;} // Driver codeint main(){    int n = 101;    isEven(n) ? cout << "Even" : cout << "Odd";    return 0;}
// A simple Java program to// check for even or odd class GFG {         // Returns true if n    // is even, else odd    static boolean isEven(int n)    {        boolean isEven = true;                 for (int i = 1; i <= n; i++)            isEven = !isEven;                     return isEven;    }              // Driver Code    public static void main(String args[])    {                 int n = 101;        if(isEven(n))            System.out.println("Even");        else            System.out.println("Odd");             }} // This code is contributed by Sam007
# A simple Python program to# check for even or odd # Returns true if n is even,# else odddef isEven(n):    isEven = True;    for i in range(1, n+1):        if isEven == True:            isEven = False;        else:            isEven = True;     return isEven; # Driver code   n = 101;if isEven(n) == True:    print ("Even");else:    print ("Odd");     # This code is contributed by# Manish Shaw (manishshaw1)
// A simple C# program to check for// even or oddusing System; public class GFG {         // Returns true if n is even,    // else odd    static bool isEven(int n)    {        bool isEven = true;                 for (int i = 1; i <= n; i++)            isEven = !isEven;                     return isEven;    }         // Driver code    public static void Main()    {        int n = 101;        if(isEven(n))            Console.Write("Even");        else            Console.Write("Odd");    }} // This code is contributed by Sam007.
<?php// A simple PHP program to check for// even or odd // Returns true if n is even,// else oddfunction isEven($n){    $isEven = true;    for ($i = 1; $i <= $n; $i++)        $isEven = !$isEven;    return $isEven;}     // Driver code    $n = 101;    $is=isEven($n) ? "Even" : "Odd";    echo "$is" // This code is contributed by ajit?>
<script> // A simple Javascript program to check// for even or odd // Returns true if n is even,// else oddfunction isEven(n){    let isEven = true;           for(let i = 1; i <= n; i++)        isEven = !isEven;               return isEven;} // Driver codelet n = 101;if (isEven(n))    document.write("Even");else    document.write("Odd");     // This code is contributed by mukesh07 </script>
Odd
 
Method 2: By multiply and divide by 2. Divide the number by 2 and multiply by 2 if the result is same as input then it is an even number else it is an odd number.
C++
Java
Python3
C#
PHP
Javascript
// A simple C++ program to check for// even or odd#include <iostream>using namespace std; // Returns true if n is even, else oddbool isEven(int n){    // Return true if n/2 does not result    // in a float value.    return ((n / 2) * 2 == n);} // Driver codeint main(){    int n = 101;    isEven(n) ? cout << "Even" : cout << "Odd";    return 0;}
// A simple Java program// to check for even or odd class GFG {     // Returns true if n// is even, else oddstatic boolean isEven(int n){         // Return true if    // n/2 does not result    // in a float value.    return ((n / 2) * 2 == n);} // Driver codepublic static void main(String[] args){    int n = 101;    if(isEven(n) != false)        System.out.print( "Even" );    else        System.out.print( "Odd" );}} // This code is contributed by// Smitha Dinesh Semwal.
# A simple Python 3 program# to check for even or odd # Returns true if n# is even, else odddef isEven(n):          # Return true if    # n/2 does not result    # in a float value.    return (int(n / 2) * 2 == n)  # Driver coden = 101if(isEven(n) != False):    print("Even")else:    print("Odd") # This code is contributed by# Smitha Dinesh Semwal.
// A simple C# program// to check for even or oddusing System;class GFG {     // Returns true if n// is even, else oddstatic bool isEven(int n){         // Return true if    // n/2 does not result    // in a float value.    return ((n / 2) * 2 == n);} // Driver codepublic static void Main(String[] args){    int n = 101;    if(isEven(n) != false)        Console.Write("Even");    else        Console.Write("Odd");}} // This code is contributed by// Smitha Dinesh Semwal.
<?php// A simple PHP program to// check for even or odd // Returns true if n// is even, else oddfunction isEven($n){    // Return true if n/2    // does not result    // in a float value.    return ((int)($n / 2) * 2 == $n);} // Driver code$n = 101;if(isEven($n))    echo ("Even");else    echo ("Odd");     // This code is contributed by// Manish Shaw (manishshaw1)?>
<script> // A simple Javascript program to// check for even or odd // Returns true if n is even,// else oddfunction isEven(n){         // Return true if n/2 does not result    // in a float value.    return (parseInt(n / 2, 10) * 2 == n);} // Driver codelet n = 101;isEven(n) ? document.write("Even") :            document.write("Odd");             // This code is contributed by divyeshrabadiya07 </script>
Odd
 
Method 3: Using Bitwise operator &. A better solution is to use bitwise operators. We need to check whether last bit is 1 or not. If last bit is 1 then the number is odd, otherwise always even.
Explanation: 
 input : 5    // odd
   00000101              
 & 00000001                
--------------                
   00000001       
--------------

input : 8     //even
   00001000              
 & 00000001                 
--------------               
   00000000        
--------------
Below is the implementation of the idea. 
C++
Java
Python3
C#
PHP
Javascript
// A simple C++ program to check for// even or odd#include <iostream>using namespace std; // Returns true if n is even, else oddbool isEven(int n){    // n&1 is 1, then odd, else even    return (!(n & 1));} // Driver codeint main(){    int n = 101;    isEven(n) ? cout << "Even" : cout << "Odd";    return 0;}
// A simple Java program to check for// even or oddimport java.io.*;import java.util.*; public class GFG {          // Returns 0 if n    // is even, else odd    static int isEven(int n)    {                  // n&1 is 1, then        // odd, else even        return (n & 1);    }          // Driver code    public static void main(String args[])    {        int n = 101;        if(isEven(n)==0)            System.out.print("Even");        else            System.out.print("Odd");    }}  // This code is contributed// by Manish Shaw (manishshaw1)
# A simple Python program to# check for even or odd# Returns 0 if n# is even, else odddef isEven(n) :          # n&1 is 1, then    # odd, else even    return (n & 1);  # Driver coden = 101;if(isEven(n) == 0) :    print ("Even");else :    print ("Odd");      # This code is contributed# by Manish Shaw (manishshaw1)
// A simple C# program to check for// even or oddusing System;using System.Collections.Generic; class GFG {         // Returns 0 if n    // is even, else odd    static int isEven(int n)    {                 // n&1 is 1, then        // odd, else even        return (n & 1);    }         // Driver code    public static void Main()    {        int n = 101;        if(isEven(n)==0)            Console.Write("Even");        else            Console.Write("Odd");    }} // This code is contributed// by Manish Shaw (manishshaw1)
<?php// A simple PHP program to// check for even or odd// Returns 0 if n// is even, else oddfunction isEven($n){         // n&1 is 1, then    // odd, else even    return ($n & 1);} // Driver code$n = 101;if(isEven($n) == 0)    echo ("Even");else    echo ("Odd");     // This code is contributed// by Manish Shaw (manishshaw1)?>
<script>    // A simple Javascript program to check for even or odd         // Returns true if n is even, else odd    function isEven(n)    {        // n&1 is 1, then odd, else even        return (!(n & 1));    }         let n = 101;    isEven(n) ? document.write("Even") : document.write("Odd"); </script>
Odd
 
Sam007
Smitha Dinesh Semwal
jit_t
manishshaw1
mukesh07
divyeshrabadiya07
decode2207
divisibility
Bit Magic
Bit Magic
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Comments
Old Comments
Cyclic Redundancy Check and Modulo-2 Division
Add two numbers without using arithmetic operators
Find the element that appears once
Set, Clear and Toggle a given bit of a number in C
Bit Fields in C
Bits manipulation (Important tactics)
Write an Efficient C Program to Reverse Bits of a Number
C++ bitset and its application
Check whether K-th bit is set or not
Find the Number Occurring Odd Number of Times