Voltar para os desafios
Fácil 0 resolvidos 0% de aceitação

Ímpar, Par ou Nenhum dos Dois

Classifique um número conforme ele seja um inteiro ímpar, um inteiro par ou nenhum dos dois.

O que você vai aprender

  • Verificar par e ímpar com % 2
  • Detectar valores que não são inteiros
  • Ordenar as condições corretamente

Problema

Ver original (inglês)

Números inteiros divisíveis por 2 são pares; outros inteiros são ímpares. Um número com parte fracionária não é nem par nem ímpar. Zero é par, e inteiros negativos seguem a mesma regra.

Implemente number_parity(number).

Entrada

number: O número a ser classificado.

Saída

Retorne odd, even ou neither como texto em minúsculas.

Restrições

−1.000.000 ≤ number ≤ 1.000.000. A entrada é finita e possui no máximo duas casas decimais.

Exemplos

Exemplo 1
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, então é divisível por 2.

Exemplo 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 possui uma parte fracionária, portanto não é nem um inteiro ímpar nem um inteiro par.

Como abordar

Tente sozinho primeiro e depois abra uma dica de cada vez.

Dica 1

Primeiro veja se a entrada é um número inteiro, já que valores fracionários não são nem ímpares nem pares.

Dica 2

Para inteiros, a paridade depende de a divisão por 2 deixar resto.

Dica 3

Lembre-se de que zero é par, e inteiros negativos seguem a mesma regra dos positivos.

Complexidade esperada

O(1) tempo, O(1) espaço extra

Referências

Este desafio foi adaptado para o CodeUtility. Siga o enunciado e as restrições acima.

Aprenda com outros

Soluções da comunidade

Ainda não há soluções publicadas. Resolva este desafio para compartilhar a primeira.