Целые числа, делящиеся на 2 без остатка, считаются чётными; остальные целые числа — нечётными. Число с дробной частью не относится ни к одной из этих категорий. Ноль считается чётным, отрицательные целые числа подчиняются тем же правилам.
Реализуйте функцию number_parity(number).
Ввод
number: Число, которое нужно классифицировать.
Вывод
Верните строку odd, even или neither (в нижнем регистре).
Ограничения
−1 000 000 ≤ number ≤ 1 000 000. Входное значение конечно и содержит не более двух знаков после запятой.
Примеры
Ввод:
number = 14
Ожидаемый вывод:
expected = "even"
Ввод:
double number = 14;
Ожидаемый вывод:
std::string expected = "even";
Ввод:
double number = 14;
Ожидаемый вывод:
string expected = "even";
Пояснение
14 = 2 × 7, поэтому оно делится на 2 без остатка.
Ввод:
number = 3.5
Ожидаемый вывод:
expected = "neither"
Ввод:
double number = 3.5;
Ожидаемый вывод:
std::string expected = "neither";
Ввод:
double number = 3.5;
Ожидаемый вывод:
string expected = "neither";
Пояснение
3.5 имеет дробную часть, поэтому это ни нечётное, ни чётное целое число.
Как подступиться
Сначала попробуйте сами, затем открывайте подсказки по одной.
Подсказка 1
Сначала проверь, что вход — целое число: дробные значения не бывают ни чётными, ни нечётными.
Подсказка 2
Для целых чётность определяется остатком от деления на 2.
Подсказка 3
Помни: 0 — чётное, а отрицательные целые подчиняются тем же правилам, что и положительные.
Ожидаемая сложность
O(1) по времени, O(1) дополнительной памяти
Ссылки
Это задание адаптировано для CodeUtility. Следуйте условию и ограничениям выше.