📜  检查大数是否可以被5整除(1)

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

检查大数是否可以被5整除

在开发中,我们经常需要检查一个大数是否可以被5整除。下面是几种实现方式:

方式一

可以把大数转换成字符串,然后判断字符串最后一位是不是0或者5。

def check_divisible_by_5(n):
    return str(n)[-1] in ['0', '5']
方式二

如果大数的数据类型是整数,我们可以用取模运算来实现:

def check_divisible_by_5(n):
    return n % 5 == 0
方式三

如果大数的位数比较大,上述方法会比较慢,我们可以用位运算来优化:

def check_divisible_by_5(n):
    return (n & 1 == 0) and (n & 0b10 == 0)

这里用了两次位运算,第一次判断最低位是否为0,第二次判断次低位是否为0。

方式四

如果需要判断大量的数字,我们可以使用正则表达式:

import re

def check_divisible_by_5(n):
    pattern = re.compile(r'[05]$')
    return pattern.match(str(n)) is not None

这里使用了正则表达式,匹配以0或5结尾的字符串。

以上几种实现方式,各有优缺点。具体使用时,需要结合实际情况进行选择。