【问题标题】:COUNT PRIMES: Write a function that returns the number of prime numbers that exist up to and including a given number计算素数:编写一个函数,返回给定数之前存在的素数个数
【发布时间】:2022-11-17 01:20:33
【问题描述】:

有人可以帮我处理我的代码并让我知道其中有什么问题吗?

def count_primes(nums):
    count = 0
    for num in range(2,nums+1):
        if num%2!=0 or num%3!=0 or num%5!=0:
            count+=1
    return count

【问题讨论】:

  • 你怎么知道它不起作用?
  • 这不是您测试数字是否为素数的方式。它甚至不测试数字是否不是2, 3, and 5 的倍数——您需要将or 更改为and
  • 首先编写一个函数is_prime(),并确保它能正常工作。然后在你的循环中调用它。
  • @Woodford 因为当我将 100 作为参数传递时,我得到的是 96 而不是 25。
  • @Barmar 谢谢!有效。

标签: python count primes


【解决方案1】:

您需要针对每个数字对其进行测试,直到您要检查是否为素数的数字为止,而不仅仅是 2、3 和 5。因为除了 2、3 和 5 之外还有更多的素数

【讨论】: