zoukankan      html  css  js  c++  java
  • 62.笨小熊

    描述

    笨小熊的词汇量很小,所以每次做英语选择题的时候都很头疼。但是他找到了一种方法,经试验证明,用这种方法去选择选项的时候选对的几率非常大!
    这种方法的具体描述如下:假设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 #include<math.h>
     4 #include<stdlib.h>
     5 
     6 int cmp(const void *a,const void *b) {
     7     return *(int *)b - *(int *)a; //从大到小排序,把a,b位置反过来就是从小到大
     8 }
     9 //假设是对int排序的话,如果是升序,那么就是如果a比b大返回一个正值,小则负值,相等返回0,其他的依次类推,
    10 
    11 int f(int n) {//判断素数
    12     if(n<2) 
    13         return 0;
    14     for(int i = 2; i <= sqrt(n); ++i)
    15         if(n % i == 0) 
    16             return 0;
    17         return 1;
    18 }
    19 
    20 int main( ) {
    21     int t, a[101], m;
    22     char s[101];
    23     scanf("%d", &t);
    24     while(t--) {
    25         scanf("%s", s);
    26         m = strlen(s);
    27         memset(a, 0, sizeof(a));
    28         for(int i = 0; i != m; ++i) {
    29             if(s[i] == '.') 
    30                 continue;
    31             ++a[i];
    32             for(int j = i + 1; j != m; ++ j)
    33                 if(s[j] == s[i]) {
    34                     ++ a[i];
    35                     s[j] = '.';
    36                 }
    37         }
    38 
    39         /*排序,降序
    40         qsort,包含在stdlib.h头文件里,函数一共四个参数,没返回值.其中第一个参数是参与排序的数组名;
    41         第二个参数是参与排序的元素个数; 第三个数是单个元素的大小*/
    42         qsort(a, 101, sizeof(int), cmp);
    43         int k = 0;
    44         while(k++ != 101)
    45             if(!a[k]) 
    46                 break;
    47             -- k;
    48             int x = a[0] - a[k];
    49             if(f(x))
    50                 printf("Lucky Word
    %d
    ", x);
    51             else
    52                 printf("No Answer
    0
    ");
    53     }
    54     return 0;
    55 }
    View Code
  • 相关阅读:
    mybatis:"configuration" must match "(properties?,settings?,typeAliase.....
    Mybatis插件原理和PageHelper结合实战分页插件(七)
    mybatis结合redis实战二级缓存(六)
    Mybatis源码分析之Cache二级缓存原理 (五)
    Mybatis源码分析之Cache一级缓存原理(四)
    Mybatis源码分析之Mapper执行SQL过程(三)
    Mybatis源码分析之SqlSession和Excutor(二)
    Mybatis源码分析之SqlSessionFactory(一)
    spring结合mybatis实现数据库读写分离
    通过项目逐步深入了解Mybatis<四>
  • 原文地址:https://www.cnblogs.com/tong69/p/5784247.html
Copyright © 2011-2022 走看看