Skip to content
Related Articles

Related Articles

Print “Even” or “Odd” without using conditional statement

View Discussion
Improve Article
Save Article
  • Difficulty Level : Easy
  • Last Updated : 02 Sep, 2022
View Discussion
Improve Article
Save Article

Write a program that accepts a number from the user and prints “Even” if the entered number is even and prints “Odd” if the number is odd. You are not allowed to use any comparison (==, <,>,…etc) or conditional statements (if, else, switch, ternary operator,. Etc).

Method 1 
Below is a tricky code can be used to print “Even” or “Odd” accordingly. 

C++




#include <iostream>
 
using namespace std;
 
int main()
{
    char arr[2][5] = { "Even", "Odd" };
    int no;
    cout << "Enter a number: ";
    cin >> no;
    cout << arr[no % 2];
    getchar();
    return 0;
}

Java




import java.util.Scanner;
class GFG
{
    public static void main(String[] args)
    {
         
        String[] arr = {"Even", "Odd"};
         
        Scanner s = new Scanner(System.in);
         
        System.out.print("Enter the number: ");
        int no = s.nextInt();
 
        System.out.println(arr[no%2]);
    }
}
 
// This code is contributed by divyeshrabadiya07.

Python3




arr = ["Even", "Odd"]
print ("Enter the number")
no = int(input())
print (arr[no % 2])

C#




using System;
class GFG {
  static void Main() {
    string[] arr = {"Even", "Odd"};
      
    Console.Write("Enter the number: ");
     
    string val;
    val = Console.ReadLine();
    int no = Convert.ToInt32(val);
 
    Console.WriteLine(arr[no%2]);
  }
}
 
// This code is contributed by divyesh072019.

PHP




<?php
$arr = ["Even", "Odd"];
$input = 5;
echo ($arr[$input % 2]);
 
// This code is contributed
// by Aman ojha
?>

Javascript




<script>
 
    let arr = ["Even", "Odd"];
    let no = prompt("Enter a number: ");
     
    document.write(arr[no % 2]);
     
   // This code is contributed by suresh07
    
</script>

Time Complexity: O(1)

Auxiliary Space: O(1)

Method 2 
Below is another tricky code can be used to print “Even” or “Odd” accordingly. Thanks to student for suggesting this method.

C++




#include <iostream>
using namespace std;
 
int main()
{
    int no;
   
    cout << "Enter a no: ";
    cin >> no;
   
    (no & 1 && cout << "odd" )|| cout << "even";
   
    return 0;
}
 
// This code is contributed by sarajadhav12052009

C




#include<stdio.h>
int main()
{
    int no;
    printf("Enter a no: ");
    scanf("%d", &no);
    (no & 1 && printf("odd"))|| printf("even");
    return 0;
}

Output

Enter a no: even

Time Complexity: O(1)

Auxiliary Space: O(1)

Please write comments if you find the above code incorrect, or find better ways to solve the same problem

Method 3
This can also be done using a concept known as Branchless Programming. Essentially, make use of the fact that a true statement in Python (other some other languages) evaluates to 1 and a false statements evaluates to false.
 

Python3




# code
n = int(input("Enter a number: "))
print("Even" * (n % 2 == 0), "Odd" * (n % 2 != 0))

Output

Enter a number: Even 

Time Complexity: O(1)

Auxiliary Space: O(1)


My Personal Notes arrow_drop_up
Recommended Articles
Page :

Start Your Coding Journey Now!