繁体   English   中英

我还能如何将while循环与[included function]一起使用,以仅对给定范围内的质数求和?

[英]How else can I use the while-loop with the [included function] to sum only prime numbers from a given range?

我正在寻找可以超出未知变量n k是素数。 is_prime()是一个函数,如果参数为素数则返回True ,否则返回False

我尝试过的是:

i = 1
total = 2
k = 0

while total <= n:
    i += 1
    if is_prime(i):
        k += 1
        total += i

随着n的值变大,我的代码开始不起作用。 我希望k仅在is_prime返回True时增加,并且total将是运行总计,确保素数之和不超过n 如何使用while循环,for循环或if / elif / else来解决此问题,而又不使用sum()类的其他函数呢?

您的代码似乎没有问题,假设is_prime确实执行了预期的工作。 也许您的n太大,并且寻找足够的质数来达到n花费的时间太长。

如果出现任何错误,您应该已经指定了它们,除此之外,我看不到代码有任何问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM