编写Python程序一个素数,若依次从低位去掉一位、两位、······若所得各数仍都为素数,则称该数为超级素数。例如:由于239、23、2均为素数,则239为超级素数。 编写程序,输入正整数n,判断是否为超级素数。如果是,输出"Yes",如果不是,输出"No"。
时间: 2023-05-28 14:06:52 浏览: 94
```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的平方根。
相关问题
一个素数,若依次从低位去掉一位、两位……若所得各数仍都为素数,则称该数为超级素数。编写程序,判断是否为超级素数,是输出yes 不是输出no
以下是一个实现超级素数判断的 Python 代码:
```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_superprime(n):
digits = str(n)
for i in range(len(digits)):
if not is_prime(int(digits[i:])):
return False
return True
n = int(input())
if is_superprime(n):
print("yes")
else:
print("no")
```
你可以将这段代码输入 CSDN 开发的 C 知道中进行测试,以判断一个数是否为超级素数。
用Python书写程序:一个素数,若依次从低位去掉一位、两位、······若所得各数仍都为素数,则称该数为超级素数。例如:由于239、23、2均为素数,则239为超级素数。 编写程序,输入正整数n,判断是否为超级素数。如果是,输出"Yes",如果不是,输出"No"。
以下是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_super_prime(num):
if not is_prime(num):
return False
str_num = str(num)
for i in range(1, len(str_num)):
if not is_prime(int(str_num[i:])):
return False
return True
n = int(input("请输入一个正整数:"))
if is_super_prime(n):
print("Yes")
else:
print("No")
```
输入一个正整数n,首先判断n是否为素数,如果不是,则直接输出"No";如果是,则将n转换为字符串,依次从低位去掉一位、两位、······,判断所得各数是否为素数,如果有一个不是素数,则输出"No",否则输出"Yes"。
阅读全文