Problema
Whole numbers divisible by 2 are even; other whole numbers are odd. A number with a fractional part is neither. Zero is even, and negative integers follow the same rule.
Implement number_parity(number).
Input
number: The number to classify.
Output
Return odd, even, or neither as lowercase text.
Restricciones
−1,000,000 ≤ number ≤ 1,000,000. The input is finite and has at most two decimal places.
Ejemplos
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, so it is divisible by 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 has a fractional part, so it is neither an odd nor an even integer.
Cómo abordarlo
Inténtalo primero por tu cuenta y luego abre las pistas una a una.
Pista 1
First decide whether the input is a whole number, since fractional values are neither odd nor even.
Pista 2
For whole numbers, parity depends on whether division by 2 leaves a remainder.
Pista 3
Remember that zero is even, and negative integers follow the same rule as positive ones.
Complejidad esperada
O(1) time, O(1) extra space
Referencias
Este reto está adaptado para CodeUtility. Sigue el enunciado y las restricciones indicadas arriba.