输入一行由数字字符(不含字符'0')构成的字符串(最长不超过80字符,以回车结束),从字符串中任意的选取连续的 两个或三个数字字符,构成的数字如果是质数则称为找到一个“串中质数”,请编程计算在给定的字符串中 最多能找到多少个不同的“串中质数” 注:两个“串中质数”,只要它们中有一个字符不同或位置不同,就算不同的两个“串中质数”,例如 2131中有三个串中质数,分别为“13”、“31”和“131”
时间: 2023-06-05 19:47:20 浏览: 46
以下是Python代码实现:
def is_prime(n):
if n < 2:
return False
for i in range(2, int(n**.5)+1):
if n % i == :
return False
return True
s = input().strip()
n = len(s)
primes = set()
for i in range(n):
for j in range(i+2, min(i+4, n+1)):
num = int(s[i:j])
if is_prime(num):
primes.add(num)
print(len(primes))
首先定义一个判断质数的函数is_prime,然后读入输入的字符串s,遍历所有可能的连续两个或三个数字字符,将其转换为数字并判断是否为质数,如果是则加入一个集合primes中。最后输出集合primes的大小即可。
相关问题
在一行中输入一个不超过80个字符长度的以回车结束的非空字符串,判断其是否是回文
。我可以帮您解决这个问题。您可以使用以下 Python 代码来判断输入的字符串是否是回文:
```python
string = input().strip() # 获取用户输入的字符串并去除首尾空格
if string == string[::-1]: # 判断字符串是否与其反转后的结果相等
print("是回文")
else:
print("不是回文")
```
请注意,此代码仅适用于不超过80个字符长度的字符串。如果输入的字符串超过了80个字符长度,您需要对其进行截断或报错处理。
输入五个字符串,最长不超过八十个字符,以回车结束输入,利用程序输出最大的字符串
好的,我可以帮你解决这个问题。以下是一个示例Python代码,可以实现你的需求:
```python
strings = []
for i in range(5):
s = input()
strings.append(s)
max_string = max(strings, key=len)
print("最大的字符串是:", max_string)
```
这段代码会让你输入五个字符串,然后找出其中最长的字符串并输出。你可以在控制台中运行这段代码,输入五个字符串,程序会自动输出最大的字符串。注意,每个字符串的长度不能超过80个字符。