编写一个python程序,输入一个正整数,判断该数是否为素数,如果是是素数也输出为素数,如果不是素数,则输出为不是素数
时间: 2024-09-20 20:03:29 浏览: 23
编写一个Python程序来判断一个正整数是否为素数,你可以遵循这样的步骤:
```python
def is_prime(num):
if num <= 1: # 素数大于1
return False
elif num == 2: # 2是最小的素数
return True
elif num % 2 == 0: # 偶数除以2肯定有余数,排除偶数(除了2)
return False
else: # 对于奇数,检查其是否能被3到num的平方根之间的任何整数整除
for i in range(3, int(num**0.5) + 1, 2): # 只需要检查奇数因子
if num % i == 0:
return False
return True
# 获取用户输入
input_num = int(input("请输入一个正整数: "))
# 判断并打印结果
if is_prime(input_num):
print(f"{input_num} 是素数")
else:
print(f"{input_num} 不是素数")
相关问题
编写Python程序一个素数,若依次从低位去掉一位、两位、······若所得各数仍都为素数,则称该数为超级素数。例如:由于239、23、2均为素数,则239为超级素数。 编写程序,输入正整数n,判断是否为超级素数。如果是,输出"Yes",如果不是,输出"No"。
```python
def is_prime(n):
"""判断是否为素数"""
if n < 2:
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
s = str(n)
for i in range(1, len(s)):
if not is_prime(int(s[i:])):
return False
return True
n = int(input())
if is_super_prime(n):
print("Yes")
else:
print("No")
```
注:$\sqrt{n}$表示n的平方根。
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, "不是超级素数")
```
如果输入的正整数是超级素数,则输出“是超级素数”,否则输出“不是超级素数”。