题目描述
笨小猴的词汇量很小,所以每次做英语选择题的时候都很头疼。但是他找到了一种方法,经试验证明,用这种方法去选择选项的时候选对的几率非常大!
这种方法的具体描述如下:假设maxn是单词中出现次数最多的字母的出现次数,minn是单词中出现次数最少的字母的出现次数。
如果maxn-minn是一个质数,那么笨小猴就认为这是个Lucky Word,这样的单词很可能就是正确的答案。
输入
只有一行,是一个单词,其中只可能出现小写字母,并且长度小于100。
输出
共两行,第一行是一个字符串,假设输入的的单词是Lucky Word,那么输出“Lucky Word”,否则输出“No Answer”;
第二行是一个整数,如果输入单词是Lucky Word,输出maxn-minn的值,否则输出0。
样例输入1
error
样例输出1
Lucky Word
2
样例输入2
olympic
样例输出2
No Answer
0
来源/分类(难度系数:一星)
模拟
完整代码展示:
a=list(input())
b=[]
for i in range(0,len(a)):
b.append(a.count(a[i]))
b.sort()
c=b[-1]-b[0]
j=2
k=int(pow(c,0.5))
while j<=k:
if c%j==0:
break
j+=1
if j>k and c>=2:
print("Lucky Word")
print(c)
else:
print("No Answer")
print(0)
代码解释:
“a=list(input()) ”,让用户输入一个字符串,并将其储存在列表a中。
“b=[]
for i in range(0,len(a)):
b.append(a.count(a[i]))
b.sort()
c=b[-1]-b[0] ”,建立一个空列表b,接着遍历a中元素:将该元素在a中的个数添加进b中。遍历结束后对b中元素进行升序排序,将b[-1]-b[0]赋给c。
“j=2
k=int(pow(c,0.5))
while j<=k:
if c%j==0:
break
j+=1
if j>k and c>=2:
print("Lucky Word")
print(c)
else:
print("No Answer")
print(0) ”,根据质数的定义判断c是否为质数,如果c为质数且c>=2:打印对应结果,否则打印另一相对结果。
运行效果展示:
(声明:以上内容均为原创)