判断一个正整数是否刚好由两个质数相乘得到
时间: 2023-12-07 09:03:43 浏览: 170
判断一个数是否为质数
以下是Python实现:
```python
def is_prime(num):
if num < 2:
return False
for i in range(2, int(num**0.5)+1):
if num % i == 0:
return False
return True
def is_product_of_two_primes(num):
for i in range(2, num):
if is_prime(i) and num % i == 0 and is_prime(num // i):
return True
return False
```
首先,我们定义一个函数`is_prime()`来判断一个数是否为质数。该函数通过试除法,从2到该数的平方根遍历,判断该数是否可以被整除。
然后,我们定义一个函数`is_product_of_two_primes()`来判断一个数是否由两个质数相乘得到。该函数从2到该数遍历,判断该数是否可以被当前数整除,并且当前数和该数除以当前数的商是否都为质数。
接下来,我们可以通过调用`is_product_of_two_primes()`函数,来判断一个正整数是否刚好由两个质数相乘得到。例如:
```python
print(is_product_of_two_primes(15)) # False
print(is_product_of_two_primes(21)) # True,21 = 3 * 7
print(is_product_of_two_primes(35)) # False
print(is_product_of_two_primes(49)) # True,49 = 7 * 7
print(is_product_of_two_primes(77)) # False
```
注意,当该数为平方数时,需要特殊处理,例如49 = 7 * 7。
阅读全文