笨小熊
时间限制:
2000 ms | 内存限制:
65535 KB
难度:
2
-
描述
-
笨小熊的词汇量很小,所以每次做英语选择题的时候都很头疼。但是他找到了一种方法,经试验证明,用这种方法去选择选项的时候选对的几率非常大!
这种方法的具体描述如下:假设maxn是单词中出现次数最多的字母的出现次数,minn是单词中出现次数最少的字母的出现次数,如果maxn-minn是一个质数,那么笨小熊就认为这是个Lucky Word,这样的单词很可能就是正确的答案。-
输入
-
第一行数据N(0<N<100)表示测试数据组数。
每组测试数据输入只有一行,是一个单词,其中只可能出现小写字母,并且长度小于100。
输出
-
每组测试数据输出共两行,第一行是一个字符串,假设输入的的单词是Lucky Word,那么输出“Lucky Word”,否则输出“No Answer”;
第二行是一个整数,如果输入单词是Lucky Word,输出maxn-minn的值,否则输出0
样例输入
-
2 error
olympic 样例输出 Lucky Word 2 No Answer 0 来源 NOIP2008 上传者 hzyqazasdf
01.
#include<stdio.h>
02.
#include<math.h>
03.
#include<string.h>
04.
int
prime(
int
n)
//判断素数
05.
{
06.
int
i;
07.
if
(n<2)
return
0;
08.
for
(i=2;i<=
sqrt
(n);i++)
09.
if
(n%i==0)
return
0;
10.
if
(i>
sqrt
(n))
return
1;
11.
else
return
0;
12.
}
13.
int
main()
14.
{
15.
int
i,j;
16.
int
n,maxn,minn,num;
17.
char
ch[100];
18.
scanf
(
"%d"
,&n);
19.
getchar
();
20.
while
(n--)
21.
{
22.
gets
(ch);
23.
maxn=minn=0;
24.
for
(i=0;i<
strlen
(ch);i++){
25.
num=0;
26.
for
(j=0;j<
strlen
(ch);j++)
27.
{
28.
if
(ch[i]==ch[j])
29.
num++;
30.
}
31.
if
(minn==0)
32.
minn=num;
33.
if
(num>maxn)
34.
maxn=num;
35.
if
(num<minn)
36.
minn=num;
37.
}
38.
if
(prime(maxn-minn))
39.
{
40.
printf
(
"Lucky Word\n"
);
41.
printf
(
"%d\n"
,maxn-minn);
42.
}
43.
else
44.
{
45.
printf
(
"No Answer\n"
);
46.
printf
(
"%d\n"
,0);
47.
}
48.
}
49.
return
0;
50.
}
-
第一行数据N(0<N<100)表示测试数据组数。