用python写一个判断质数并且如果是质数的话输出它的因子的代码
时间: 2023-04-04 14:01:03 浏览: 89
以下是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中,你可以通过下面这个简单的函数来判断一个数字是否为质数:
```python
def is_prime(n):
if n <= 1: # 0和1不是质数
return False
elif n == 2: # 2是最小的质数
return True
elif n % 2 == 0: # 偶数除以2肯定有余数,所以除了2以外的偶数都不是质数
return False
else: # 对于奇数,我们只需要检查到其平方根即可
sqrt_n = int(n ** 0.5) + 1
for i in range(3, sqrt_n, 2): # 跳过偶数,只检查奇数
if n % i == 0:
return False
return True
# 测试函数
number = int(input("请输入一个数字: "))
if is_prime(number):
print(f"{number} 是质数")
else:
print(f"{number} 不是质数")
```
这段代码首先排除了小于等于1的情况,然后特别处理了2作为特殊情况。接着,对于其他大于2的数,如果能被2整除则直接返回False;否则,从3开始遍历到其平方根,每次加2(因为已知不是偶数),只要找到可以整除的因子就立即返回False。如果没有找到因子,则说明是质数。
阅读全文