用python写一个判断质数并且如果是质数的话输出它的因子的代码
时间: 2023-04-04 16:01:03 浏览: 53
以下是Python代码:
```python
num = int(input("请输入一个正整数:"))
if num <= 1:
print(num, "不是质数")
else:
is_prime = True
for i in range(2, num):
if num % i == :
is_prime = False
break
if is_prime:
print(num, "是质数")
print(num, "的因子有:1和", num)
else:
print(num, "不是质数")
```
如果输入的数是质数,输出结果会是:
```
请输入一个正整数:17
17 是质数
17 的因子有:1和 17
```
如果输入的数不是质数,输出结果会是:
```
请输入一个正整数:15
15 不是质数
```
相关问题
python写一个判断质数算法
当然!以下是一个用Python编写的判断质数的简单算法:
```python
def is_prime(num):
if num <= 1:
return False
for i in range(2, int(num ** 0.5) + 1):
if num % i == 0:
return False
return True
num = int(input("请输入一个整数:"))
if is_prime(num):
print(f"{num} 是质数")
else:
print(f"{num} 不是质数")
```
这个算法中的 `is_prime` 函数用于判断一个数是否为质数。它从2开始遍历到该数的平方根,如果在这个范围内存在可以整除该数的因子,则该数不是质数。否则,它就是质数。
在代码中,我们首先通过 `input` 函数获取用户输入的整数,并将其传递给 `is_prime` 函数进行判断。然后根据判断结果输出相应的信息。
希望这可以帮助到你!如果还有其他问题,请随时提问。
用python写一个输出一个数的所有质数因子的程序
你好,以下是回答:
可以使用以下代码来输出一个数的所有质数因子:
```python
def prime_factors(n):
i = 2
factors = []
while i * i <= n:
if n % i:
i += 1
else:
n //= i
factors.append(i)
if n > 1:
factors.append(n)
return factors
n = int(input("请输入一个正整数:"))
print(f"{n}的所有质数因子为:{prime_factors(n)}")
```
希望能对你有所帮助。