簡體   English   中英

如何計算沒有數字 3 的質數之和?

[英]How to count sum of prime numbers without a number 3?

我必須計算小於 1000 且不包含數字 3 的所有素數的總和。

我的代碼:

def primes_sum(lower, upper):
    total = 0
    for num in range(lower, upper + 1):
        if not num % 3 and num % 10:
            continue
        elif num > 1:
            for i in range(2, num):
                if num % i == 0:
                    break
            else:
                total += num
    return total

total_value = primes_sum(0, 1000)
print(total_value)

但我仍然沒有正確的結果

def primes_sum(lower, upper):
    """Assume upper>=lower>2"""
    primes = [2]
    answer = 2
    for num in range(lower, upper+1):
        if any(num%p==0 for p in primes): continue  # not a prime

        primes.append(num)

        if '3' in str(num): continue
        answer += num

    return answer

您的代碼中的問題是您正在檢查num%3 ,它檢查num是否可以被 3 整除,而不是它是否包含3

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM