Problème
Les nombres entiers divisibles par 2 sont pairs ; les autres entiers sont impairs. Un nombre avec une partie fractionnaire n'est ni pair ni impair. Zéro est pair, et les entiers négatifs suivent la même règle.
Implémentez number_parity(number).
Entrée
number : Le nombre à classifier.
Sortie
Retournez odd, even ou neither en minuscules.
Contraintes
−1 000 000 ≤ number ≤ 1 000 000. L'entrée est finie et comporte au maximum deux décimales.
Exemples
Entrée :
number = 14
Sortie attendue :
expected = "even"
Entrée :
double number = 14;
Sortie attendue :
std::string expected = "even";
Entrée :
double number = 14;
Sortie attendue :
string expected = "even";
Explication
14 = 2 × 7, donc il est divisible par 2.
Entrée :
number = 3.5
Sortie attendue :
expected = "neither"
Entrée :
double number = 3.5;
Sortie attendue :
std::string expected = "neither";
Entrée :
double number = 3.5;
Sortie attendue :
string expected = "neither";
Explication
3.5 a une partie fractionnaire, donc ce n'est ni un entier pair ni un entier impair.
Comment l'aborder
Essayez d'abord seul, puis ouvrez les indices un par un.
Indice 1
Détermine d’abord si l’entrée est un entier, car les valeurs fractionnaires ne sont ni impaires ni paires.
Indice 2
Pour les entiers, la parité dépend du reste de la division par 2.
Indice 3
Souviens-toi que 0 est pair, et que les entiers négatifs suivent la même règle que les positifs.
Complexité attendue
temps O(1), espace supplémentaire O(1)
Références
Ce défi a été adapté pour CodeUtility. Suivez l'énoncé et les contraintes ci-dessus.