笨小熊
描述
笨小熊的词汇量很小,所以每次做英语选择题的时候都很头疼。但是他找到了一种方法,经试验证明,用这种方法去选择选项的时候选对的几率非常大!
这种方法的具体描述如下:假设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
测试代码1
1 #include<stdio.h> 2 #include<string.h> 3 4 int isPrime(int n) 5 { 6 int i; 7 if (n == 2) 8 { 9 return 1; 10 } 11 if (!(n & 1) || n < 2) 12 { 13 return 0; 14 } 15 for (i = 3; i * i <= n; i += 2) 16 { 17 if (n % i == 0) 18 { 19 return 0; 20 } 21 } 22 return 1; 23 } 24 25 int main() 26 { 27 int n, i, maxn, minn, len, j; 28 int shu[110]; 29 char str[110]; 30 scanf("%d", &n); 31 while (n--) 32 { 33 memset(shu, 0, sizeof(shu)); 34 scanf("%s", str); 35 len = strlen(str); 36 for (i = 0; i < len; i++) 37 { 38 for (j = 0; j < len; j++) 39 { 40 if (str[i] == str[j]) 41 { 42 shu[i]++; 43 } 44 } 45 } 46 maxn = minn = shu[0]; 47 for (i = 0; i < len; i++) 48 { 49 if (shu[i] > maxn) 50 { 51 maxn = shu[i]; 52 } 53 if (shu[i] < minn) 54 { 55 minn = shu[i]; 56 } 57 } 58 if (isPrime(maxn - minn)) 59 { 60 printf("Lucky Word\n%d\n", maxn - minn); 61 } 62 else 63 { 64 printf("No Answer\n0\n"); 65 } 66 } 67 return 0; 68 }
测试代码2
1 #include <stdio.h> 2 #include <string.h> 3 4 int isPrime(int n) 5 { 6 int i; 7 if (n == 2) 8 { 9 return 1; 10 } 11 if (!(n & 1) || n < 2) 12 { 13 return 0; 14 } 15 for (i = 3; i * i <= n; i += 2) 16 { 17 if (n % i == 0) 18 { 19 return 0; 20 } 21 } 22 return 1; 23 } 24 25 int main() 26 { 27 int n; 28 char str[100]; 29 scanf("%d", &n); 30 getchar(); 31 while (n--) 32 { 33 gets(str); 34 int i, maxn = 0, minn = 100, a[26] = { 0 }; 35 for (i = 0; str[i] != '\0'; ++i) 36 { 37 a[str[i] - 'a']++; 38 } 39 for (i = 0; i < 26; i++) 40 { 41 if (a[i] != 0) 42 { 43 if (a[i] > maxn) 44 maxn = a[i]; 45 if (a[i] < minn) 46 minn = a[i]; 47 } 48 } 49 if (isPrime(maxn - minn) > 1) 50 printf("Lucky Word\n%d\n", maxn - minn); 51 else 52 printf("No Answer\n0\n"); 53 } 54 }

浙公网安备 33010602011771号