Check a number is odd or even without modulus operator
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++
// A simple C++ program to check for // even or odd #include <iostream> using namespace std; // Returns true if n is even, else odd bool isEven( int n) { bool isEven = true ; for ( int i=1; i <= n; i++) isEven = !isEven; return isEven; } // Driver code int main() { int n = 101; isEven(n) ? cout << "Even" : cout << "Odd" ; return 0; } |
Java
// 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 |
Python3
# A simple Python program to # check for even or odd # Returns true if n is even, # else odd def 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) |
C#
// A simple C# program to check for // even or odd using 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
<?php // A simple PHP program to check for // even or odd // Returns true if n is even, // else odd function 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 ?> |
Javascript
<script> // A simple Javascript program to check // for even or odd // Returns true if n is even, // else odd function isEven(n) { let isEven = true ; for (let i = 1; i <= n; i++) isEven = !isEven; return isEven; } // Driver code let n = 101; if (isEven(n)) document.write( "Even" ); else document.write( "Odd" ); // This code is contributed by mukesh07 </script> |
Odd
Time Complexity : O(n)
Auxiliary Space: O(1)
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++
// A simple C++ program to check for // even or odd #include <iostream> using namespace std; // Returns true if n is even, else odd bool isEven( int n) { // Return true if n/2 does not result // in a float value. return ((n / 2) * 2 == n); } // Driver code int main() { int n = 101; isEven(n) ? cout << "Even" : cout << "Odd" ; return 0; } |
Java
// 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) { // Return true if // n/2 does not result // in a float value. return ((n / 2 ) * 2 == n); } // Driver code public 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. |
Python3
# A simple Python 3 program # to check for even or odd # Returns true if n # is even, else odd def 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) ! = False ): print ( "Even" ) else : print ( "Odd" ) # This code is contributed by # Smitha Dinesh Semwal. |
C#
// A simple C# program // to check for even or odd using System; class GFG { // Returns true if n // is even, else odd static bool isEven( int n) { // Return true if // n/2 does not result // in a float value. return ((n / 2) * 2 == n); } // Driver code public 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
<?php // A simple PHP program to // check for even or odd // Returns true if n // is even, else odd function 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) ?> |
Javascript
<script> // A simple Javascript program to // check for even or odd // Returns true if n is even, // else odd function isEven(n) { // Return true if n/2 does not result // in a float value. return (parseInt(n / 2, 10) * 2 == n); } // Driver code let n = 101; isEven(n) ? document.write( "Even" ) : document.write( "Odd" ); // This code is contributed by divyeshrabadiya07 </script> |
Odd
Time Complexity : O(1)
Auxiliary Space: O(1)
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++
// A simple C++ program to check for // even or odd #include <iostream> using namespace std; // Returns true if n is even, else odd bool isEven( int n) { // n&1 is 1, then odd, else even return (!(n & 1)); } // Driver code int main() { int n = 101; isEven(n) ? cout << "Even" : cout << "Odd" ; return 0; } |
Java
// A simple Java program to check for // even or odd import 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) |
Python3
# A simple Python program to # check for even or odd # Returns 0 if n # is even, else odd def isEven(n) : # n&1 is 1, then # odd, else even return (n & 1 ); # Driver code n = 101 ; if (isEven(n) = = 0 ) : print ( "Even" ); else : print ( "Odd" ); # This code is contributed # by Manish Shaw (manishshaw1) |
C#
// A simple C# program to check for // even or odd using 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
<?php // A simple PHP program to // check for even or odd // Returns 0 if n // is even, else odd function 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) ?> |
Javascript
<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
Time Complexity : O(1)
Auxiliary Space: O(1)
Please Login to comment...