📅  最后修改于: 2023-12-03 14:56:55.290000             🧑  作者: Mango
在数学中,质数(prime number)是指除了1和自身之外没有其他因数的整数。现在我们的任务是给定一个正整数M,计算出质数中,最多能被M整除的数的数量。
为了解决这个问题,我们可以使用一个简单的算法。
count
为0,用于记录符合条件的质数的数量。count
中。count
中,并跳过后续的判断。count
作为结果。import math
def count_primes_divisible_by_M(M):
count = 0
for num in range(2, M+1):
is_prime = True
for i in range(2, int(math.sqrt(num))+1):
if num % i == 0:
is_prime = False
break
if is_prime:
count += 1
if num % M == 0:
break
return count
M = 5
result = count_primes_divisible_by_M(M)
print(f"The count of primes divisible by {M} is {result}")
以上示例代码输出的结果是“The count of primes divisible by 5 is 3”,表示质数中最多能被5整除的数的数量是3个。
该算法的时间复杂度为O(M*sqrt(M)),其中M为给定的正整数。虽然算法存在一定的优化空间,但对于较小的M值,算法已经足够高效。
总结:通过使用该算法,我们可以很方便地计算出质数中,最多能被给定正整数M整除的数的数量。