TheAlgorithms-Python
37 строк · 834.0 Байт
1def is_even(number: int) -> bool:2"""3return true if the input integer is even
4Explanation: Lets take a look at the following decimal to binary conversions
52 => 10
614 => 1110
7100 => 1100100
83 => 11
913 => 1101
10101 => 1100101
11from the above examples we can observe that
12for all the odd integers there is always 1 set bit at the end
13also, 1 in binary can be represented as 001, 00001, or 0000001
14so for any odd integer n => n&1 is always equals 1 else the integer is even
15
16>>> is_even(1)
17False
18>>> is_even(4)
19True
20>>> is_even(9)
21False
22>>> is_even(15)
23False
24>>> is_even(40)
25True
26>>> is_even(100)
27True
28>>> is_even(101)
29False
30"""
31return number & 1 == 032
33
34if __name__ == "__main__":35import doctest36
37doctest.testmod()38