python编写程序,使用input()输入一个正整数,判断输入的正整数是质数
时间: 2024-10-09 08:02:18 浏览: 13
在Python中,你可以通过下面的步骤编写程序来判断用户输入的正整数是否为质数:
```python
def is_prime(n):
# 质数定义:大于1的自然数,除了1和它本身以外不再有其他因数
if n <= 1: # 如果数字小于等于1,不是质数
return False
elif n == 2: # 2是唯一的偶数质数
return True
elif n % 2 == 0: # 偶数不是质数,除非它是2
return n == 2
else: # 非2的奇数,从3开始检查到n的平方根,看是否有除1和自身外的因子
for i in range(3, int(n**0.5) + 1, 2): # 只需检查奇数因子
if n % i == 0:
return False
return True
# 获取用户输入
num = int(input("请输入一个正整数:"))
# 判断并打印结果
if is_prime(num):
print(f"{num}是质数")
else:
print(f"{num}不是质数")
相关问题
请用python编写以下程序:定义一个名为isPrime(number)的函数,参数为一个正整数。通过使用这个函数,能够判断一个正整数,是否为素数,是素数则返回True,不是素数则返回False。在同一源程序中,使用键盘输入一个正整数,验证该函数是否能够正确判断输入数为素数。
下面是代码实现:
```python
def isPrime(number):
if number < 2:
return False
for i in range(2, int(number**0.5)+1):
if number % i == 0:
return False
return True
input_number = int(input("请输入一个正整数:"))
if isPrime(input_number):
print(input_number, "是素数")
else:
print(input_number, "不是素数")
```
首先定义了一个名为isPrime的函数,该函数的参数为一个正整数。函数内部使用了一个for循环,从2到该数的平方根进行枚举,判断是否存在因子,如果存在则说明该数不是素数,返回False;如果循环结束都没有找到因子,则说明该数是素数,返回True。
在主函数中,使用input函数从键盘输入一个正整数,然后调用isPrime函数进行判断,并根据返回值输出相应的结果。
Python编写程序,判断一个正整数是否为超级素数
以下是Python编写程序,判断一个正整数是否为超级素数的代码:
```python
def is_prime(n):
if n <= 1:
return False
for i in range(2, int(n ** 0.5) + 1):
if n % i == 0:
return False
return True
def is_super_prime(n):
if not is_prime(n):
return False
while n > 0:
if not is_prime(n):
return False
n //= 10
return True
n = int(input("请输入一个正整数:"))
if is_super_prime(n):
print(n, "是超级素数")
else:
print(n, "不是超级素数")
```
如果输入的正整数是超级素数,则输出“是超级素数”,否则输出“不是超级素数”。