Imprima «par» o «impar» sin usar declaración condicional

Escriba un programa que acepte un número del usuario e imprima «Par» si el número ingresado es par e imprima «Impar» si el número es impar. No está permitido usar ninguna comparación (==, <,>,…etc) o declaraciones condicionales (if, else, switch, operador ternario, etc.).

Método 1 
A continuación se muestra un código engañoso que se puede usar para imprimir «Par» o «Impar» según corresponda. 

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>

Método 2 
A continuación se muestra otro código engañoso que se puede usar para imprimir «Par» o «Impar» según corresponda. Gracias al estudiante por sugerir este método.

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;
}
Producción

Enter a no: even

Escriba comentarios si encuentra que el código anterior es incorrecto o encuentra mejores formas de resolver el mismo problema

Método 3
Esto también se puede hacer usando un concepto conocido como Programación sin sucursales. Esencialmente, aproveche el hecho de que una declaración verdadera en Python (otros otros lenguajes) se evalúa como 1 y una declaración falsa se evalúa como falsa.
 

Python3

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

Enter a number: Even 

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *