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.
Restrições
−1,000,000 ≤ number ≤ 1,000,000. The input is finite and has at most two decimal places.
Exemplos
Entrada:
number = 14
Saída esperada:
expected = "even"
Entrada:
double number = 14;
Saída esperada:
std::string expected = "even";
Entrada:
double number = 14;
Saída esperada:
string expected = "even";
Explicação
14 = 2 × 7, so it is divisible by 2.
Entrada:
number = 3.5
Saída esperada:
expected = "neither"
Entrada:
double number = 3.5;
Saída esperada:
std::string expected = "neither";
Entrada:
double number = 3.5;
Saída esperada:
string expected = "neither";
Explicação
3.5 has a fractional part, so it is neither an odd nor an even integer.
Como abordar
Tente sozinho primeiro e depois abra uma dica de cada vez.
Dica 1
First decide whether the input is a whole number, since fractional values are neither odd nor even.
Dica 2
For whole numbers, parity depends on whether division by 2 leaves a remainder.
Dica 3
Remember that zero is even, and negative integers follow the same rule as positive ones.
Complexidade esperada
O(1) time, O(1) extra space
Referências
Este desafio foi adaptado para o CodeUtility. Siga o enunciado e as restrições acima.