Python/bit_manipulation/is_even.py
Laukik Chahande 39a99b46f5
check whether integer is even or odd using bit manupulation (#7099)
* even_or_not file added

* Updated DIRECTORY.md

* modified DIRECTORY.md

* Update bit_manipulation/even_or_not.py

* updating DIRECTORY.md

* Rename even_or_not.py to is_even.py

* updating DIRECTORY.md

Co-authored-by: luciferx48 <laukik.22010776@gmail.com>
Co-authored-by: Christian Clauss <cclauss@me.com>
Co-authored-by: github-actions <${GITHUB_ACTOR}@users.noreply.github.com>
2022-10-23 19:26:22 +02:00

38 lines
834 B
Python

def is_even(number: int) -> bool:
"""
return true if the input integer is even
Explanation: Lets take a look at the following deicmal to binary conversions
2 => 10
14 => 1110
100 => 1100100
3 => 11
13 => 1101
101 => 1100101
from the above examples we can observe that
for all the odd integers there is always 1 set bit at the end
also, 1 in binary can be represented as 001, 00001, or 0000001
so for any odd integer n => n&1 is always equlas 1 else the integer is even
>>> is_even(1)
False
>>> is_even(4)
True
>>> is_even(9)
False
>>> is_even(15)
False
>>> is_even(40)
True
>>> is_even(100)
True
>>> is_even(101)
False
"""
return number & 1 == 0
if __name__ == "__main__":
import doctest
doctest.testmod()