在前一百多个数上对拍,一致几次

👁️ 0 人浏览 💬 0 人评论 ❤️ 添加收藏

测过的都对,剩下的没测

测过

全部

下面 fast_prime 只拿 2、3、5、7 去试除。把它和正确版在 2~120 上对拍一遍:

def ok_prime(n):
    if n < 2:
        return False
    d = 2
    while d * d <= n:
        if n % d == 0:
            return False
        d += 1
    return True

def fast_prime(n):
    """只拿 2、3、5、7 试除——看起来又快又对"""
    if n < 2:
        return False
    for d in (2, 3, 5, 7):
        if n == d:
            return True
        if n % d == 0:
            return False
    return True

same = sum(1 for n in range(2, 121)
           if fast_prime(n) == ok_prime(n))
print(same)
提交你的答案
请登录后提交答案。
去登录
代码编辑器
Ctrl + Enter 运行
本次输入:
输出:

                        
👩‍🏫
AI
💬 题目评论

全部评论