首页 > 试题广场 >

笨小猴

[编程题]笨小猴
  • 热度指数:17322 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 128M,其他语言256M
  • 算法知识视频讲解

笨小猴的词汇量很小,所以每次做英语选择题的时候都很头疼。但是他找到了一种方法,经试验证明,用这种方法去选择选项的时候选对的几率非常大!

这种方法的具体描述如下:假设maxn是单词中出现次数最多的字母的出现次数,minn是单词中出现次数最少的字母的出现次数,如果maxn-minn是一个质数,那么笨小猴就认为这是个Lucky Word,这样的单词很可能就是正确的答案。


输入描述:
一行由小写字母组成的字符串,并且长度小于100。


输出描述:
共两行,第一行是一个字符串,第二行是一个整数。
假设输入的的单词是Lucky Word,那么输出“Lucky Word”,第二行输出maxn-minn的值。
否则输出“No Answer”,第二行输出0。
示例1

输入

error

输出

Lucky Word
2

说明

单词error中出现最多的字母r出现了3次,出现次数最少的字母出现了1次,3-1=2,2是质数。  
示例2

输入

olympic

输出

No Answer
0

说明

单词olympic中出现每个字母都只出现一次,即出现次数最多的字母出现了1次,出现次数最少的字母出现了1次,1-1=0,0不是质数。
dicts = {}
char = input().strip()
for i in char:
    dicts[i] = dicts.get(i,0)+1

arr = sorted([ v for k,v in dicts.items()])
number =(arr[-1] - arr[0])
medi = number//2+1
 
if number in [0,1]:
    print('No Answer\n0')
elif number in [2,3]:
    print(f'Lucky Word\n{number}')
else  :
    for i in range(2,medi):
        if number%i==0:
            print(f'No Answer\n{number}')
            break
        if i== medi-1:
            print(f'Lucky Word\n{number}')

    

发表于 2024-09-27 12:43:54 回复(0)
字符串统计各字符的次数
s = input()
a = [s.count(i) for i in s]
n = max(a)-min(a)
flag=0
if n<=1:
    flag=1
for i in range(2,n):
    if n%i == 0:
        flag=1
        break
if flag==1:
    print("No Answer")
    print("0")
else:
    print("Lucky Word")
    print(n)


发表于 2024-02-11 14:28:48 回复(0)
s = input()
ss = set(s)
ls = []
for i in ss:
    ls.append(s.count(i))
word = max(ls) - min(ls)
# word = 4
if word >= 2:
    for i in range(2,int(word**0.5)+1):
        if word % i != 0:
            pass
        else:
            print("No Answer", 0, sep="\n")
            break
    else:
        print("Lucky Word", word, sep="\n")

else:
    print("No Answer", 0, sep="\n")
发表于 2023-04-15 17:20:16 回复(0)

问题信息

难度:
3条回答 4178浏览

热门推荐

通过挑战的用户

查看代码
笨小猴