Volver a los desafíos
Fácil 0 resueltos 0% de aceptación

Impar, Par o Ninguno

Clasifica un número según si es un entero impar, un entero par o ninguno de los dos.

Lo que aprenderás

  • Comprobar par e impar con % 2
  • Detectar valores que no son enteros
  • Ordenar bien las condiciones

Problema

Ver original (inglés)

Los números enteros divisibles por 2 son pares; los demás enteros son impares. Un número con parte decimal no es ninguno de los dos. El cero es par y los enteros negativos siguen la misma regla.

Implementa number_parity(number).

Entrada

number: El número a clasificar.

Salida

Devuelve odd, even o neither en minúsculas.

Restricciones

−1,000,000 ≤ number ≤ 1,000,000. La entrada es finita y tiene como máximo dos decimales.

Ejemplos

Ejemplo 1
Entrada:
number = 14

Salida esperada:
expected = "even"
Entrada:
double number = 14;

Salida esperada:
std::string expected = "even";
Entrada:
double number = 14;

Salida esperada:
string expected = "even";

Explicación

14 = 2 × 7, por lo que es divisible por 2.

Ejemplo 2
Entrada:
number = 3.5

Salida esperada:
expected = "neither"
Entrada:
double number = 3.5;

Salida esperada:
std::string expected = "neither";
Entrada:
double number = 3.5;

Salida esperada:
string expected = "neither";

Explicación

3.5 tiene parte decimal, así que no es ni un entero impar ni par.

Cómo abordarlo

Inténtalo primero por tu cuenta y luego abre las pistas una a una.

Pista 1

Primero decide si la entrada es un número entero, porque los valores fraccionarios no son ni pares ni impares.

Pista 2

Para enteros, la paridad depende de si la división entre 2 deja resto.

Pista 3

Recuerda que cero es par, y los enteros negativos siguen la misma regla que los positivos.

Complejidad esperada

tiempo O(1), espacio extra O(1)

Referencias

Este reto está adaptado para CodeUtility. Sigue el enunciado y las restricciones indicadas arriba.

Aprende de otros

Soluciones de la comunidad

Aún no hay soluciones publicadas. Resuelve este reto para compartir la primera.