P1125 [NOIP2008 提高组] 笨小猴
笨小猴的词汇量很小,所以每次做英语选择题的时候都很头疼。但是他找到了一种方法,经试验证明,用这种方法去选择选项的时候选对的几率非常大!
这种方法的具体描述如下:假设 maxnmaxn 是单词中出现次数最多的字母的出现次数,minnminn 是单词中出现次数最少的字母的出现次数,如果 maxn−minnmaxn−minn 是一个质数,那么笨小猴就认为这是个 Lucky Word,这样的单词很可能就是正确的答案。
#include<stdio.h>
#include<string.h>
int zs(int n) {
int i, j = 1;
if (n < 2) {
j = 0;
}
for (i = 2; i*i<=n; i++) {
if (n % i == 0) {
j = 0;
break;
}
}
if (j!=0) {
return 1;
}
else {
return 0;
}
}
int main() {
char a[10];
int i, maxn=0, minn=100, counts[128] = {0};
int num=0;
scanf("%s", a);
for (i = 0; i < strlen(a); i++) {
counts[a[i]]++;//计数器
}
for (i = 'a'; i <= 'z'; i++) {
if (counts[i] > maxn) {
maxn = counts[i];
}
if (counts[i] <= minn && counts[i]!= 0) {
minn = counts[i];
}
}
num = maxn - minn;
if (zs(num)) {
printf("Lucky Word\n%d", num);
}
else
printf("No Answer\n0");
return 0;
}