📌  相关文章
📜  国际空间研究组织 | ISRO CS 2011 |问题 62(1)

📅  最后修改于: 2023-12-03 15:37:14.819000             🧑  作者: Mango

国际空间研究组织 | ISRO CS 2011 |问题 62

本题考察了程序员在使用位运算符时的理解和掌握。题目需要编写一个函数,它能够检测给定的一个整数是否为奇数。该函数必须使用位运算符实现。

实现思路

一个整数是奇数,当且仅当其最后一位为1。

因此,可以使用与运算符(&)将给定的整数和1进行与运算。如果结果为1,那么这个整数就是奇数;否则,它就是偶数。代码实现如下:

def is_odd(n: int) -> bool:
    """
    判断一个整数是否为奇数

    :param n: 待判断的整数
    :return: 如果n是奇数,返回True,否则返回False
    """
    return n & 1 == 1
测试样例
assert is_odd(0) == False
assert is_odd(1) == True
assert is_odd(2) == False
assert is_odd(3) == True
assert is_odd(4) == False

以上测试样例已经覆盖了所有的情况。需要注意的是,当n等于0时,该函数返回False。因为0不是奇数,也不是偶数。