問題
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.
制約
−1,000,000 ≤ number ≤ 1,000,000. The input is finite and has at most two decimal places.
例
入力:
number = 14
期待される出力:
expected = "even"
入力:
double number = 14;
期待される出力:
std::string expected = "even";
入力:
double number = 14;
期待される出力:
string expected = "even";
解説
14 = 2 × 7, so it is divisible by 2.
入力:
number = 3.5
期待される出力:
expected = "neither"
入力:
double number = 3.5;
期待される出力:
std::string expected = "neither";
入力:
double number = 3.5;
期待される出力:
string expected = "neither";
解説
3.5 has a fractional part, so it is neither an odd nor an even integer.
解き方のヒント
まずは自分で考えてから、ヒントを 1 つずつ開いてみましょう。
ヒント 1
First decide whether the input is a whole number, since fractional values are neither odd nor even.
ヒント 2
For whole numbers, parity depends on whether division by 2 leaves a remainder.
ヒント 3
Remember that zero is even, and negative integers follow the same rule as positive ones.
目安の計算量
O(1) time, O(1) extra space
参考資料
この課題はCodeUtility用に調整されています。上記の説明と制約に従ってください。