• 笨小熊


    描述

    笨小熊的词汇量很小,所以每次做英语选择题的时候都很头疼。但是他找到了一种方法,经试验证明,用这种方法去选择选项的时候选对的几率非常大! 
    这种方法的具体描述如下:假设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 #include <stdio.h> 
     2 #include <string.h>
     3 
     4 int main(){
     5     int T;
     6     char s[101];
     7     int amount[27];
     8     int length;
     9     int i;
    10     int j;
    11     int max;
    12     int min;
    13     int flag[200];
    14     
    15     memset(flag,0,sizeof(int)*200);
    16     flag[0]=1;
    17     flag[1]=1;
    18     
    19     for(i=2;i*i<200;i++){
    20         if(flag[i]==0){
    21             for(j=i*i;j<200;j+=i)
    22                 flag[j]=1;
    23         }
    24     }
    25     
    26     scanf("%d",&T);
    27     
    28     while(T--){
    29         scanf("%s",&s);
    30         memset(amount,0,sizeof(int)*27);
    31         length=strlen(s);
    32         
    33         for(i=0;i<length;i++){
    34             amount[s[i]-'a'+1]++;
    35         }
    36         
    37         for(i=1;i<=26;i++){
    38             if(amount[i]!=0){
    39                 max=amount[i];
    40                 min=amount[i];
    41                 break;
    42             }
    43         }
    44         
    45         for(i=1;i<=26;i++){
    46             if(amount[i]!=0 && amount[i]<min)
    47                 min=amount[i];
    48                 
    49             if(amount[i]!=0 && amount[i]>max)
    50                 max=amount[i];
    51         }
    52         
    53         if(flag[max-min]==0){
    54             printf("Lucky Word
    %d
    ",max-min);
    55         }
    56         
    57         else
    58             printf("No Answer
    0
    ");
    59     }
    60         
    61     return 0;
    62 }
  • 相关阅读:
    Leetcode 1184. 公交站间的距离
    Leetcode 1232. 缀点成线
    Leetcode1539. 第 k 个缺失的正整数
    Leetcode 1299. 将每个元素替换为右侧最大元素
    Leetcode 1508. 子数组和排序后的区间和
    Leetcode 1509. 三次操作后最大值与最小值的最小差
    Leetcode 1207. 独一无二的出现次数
    Leetcode 1507. 转变日期格式
    Leetcode 1217. 玩筹码
    SQL Server自动产生一年多少周及月
  • 原文地址:https://www.cnblogs.com/zqxLonely/p/4096286.html
Copyright © 2020-2023  润新知