一位发福利人士 2022-02-04 16:19 采纳率: 94.1%
浏览 45
已结题

这一题很有挑战性,希望你们能答对

题目描述
小明 发明了一种猜答案的方式,用这种方法去选择选项的时候选对的几率非常大!

这种方法的具体描述如下:假设maxn是单词中出现次数最多的字母的出现次数,minn是单词中出现次数最少的字母的出现次数,如果maxn-minn是一个质数,那么 小明 就认为这是个Lucky Word,这样的单词很可能就是正确的答案。
c0
输入格式
一个单词,其中只可能出现小写字母,并且长度小于100100。

输出格式
共两行,第一行是一个字符串,假设输入的的单词是Lucky Word,那么输出“Lucky Word”,否则输出“No Answer”;

第二行是一个整数,如果输入单词是Lucky Word,输出maxn-minn的值,否则输出00。

输入输出样例
输入 #1复制
error
输出 #1复制
Lucky Word
2
输入 #2复制
olympic
输出 #2复制
No Answer
0
说明/提示
【输入输出样例1解释】

单词error中出现最多的字母rr出现了33次,出现次数最少的字母出现了11次,3-1=23−1=2,22是质数。

【输入输出样例2解释】

单词olympic中出现最多的字母ii出现了11次,出现次数最少的字母出现了11次,1-1=01−1=0,00不是质数。

  • 写回答

3条回答 默认 最新

  • LYSnowy 2022-02-04 16:26
    关注
    #include <iostream>
    #include <cmath>
    #include <cstring>
    #include <algorithm>
    using namespace std;
    bool isPrime(int n)
    {
        if (n == 0 || n == 1)
        {
            return false;
        }
        if (n == 2)
        {
            return true;
        }
        for (int i = 2; i <= sqrt(n); i++)
        {
            if (n % i == 0)
            {
                return false;
            }
        }
        return true;
    }
    int main()
    {
        int a[26] = { 0 };
        string str; cin >> str;
        int len = str.length();
        for (int i = 0; i < len; i++)
        {
            a[(int)str[i] - 97]++;
        }
        int mmax = 0, mmin = 100100;
        for (int i = 0; i < 26; i++)
        {
            if (a[i] > mmax)
            {
                mmax = a[i];
            }
            if (a[i] < mmin && a[i] != 0)
            {
                mmin = a[i];
            }
        }
        if (isPrime(mmax - mmin) == true)
        {
            cout << "Lucky Word" << endl;
            cout << mmax - mmin << endl;
        }
        else
        {
            cout << "No Answer" << endl;
            cout << 0 << endl;
        }
    }
    

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 2月12日
  • 已采纳回答 2月4日
  • 创建了问题 2月4日

悬赏问题

  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么
  • ¥15 banner广告展示设置多少时间不怎么会消耗用户价值
  • ¥16 mybatis的代理对象无法通过@Autowired装填
  • ¥15 可见光定位matlab仿真
  • ¥15 arduino 四自由度机械臂
  • ¥15 wordpress 产品图片 GIF 没法显示
  • ¥15 求三国群英传pl国战时间的修改方法
  • ¥15 matlab代码代写,需写出详细代码,代价私
  • ¥15 ROS系统搭建请教(跨境电商用途)
  • ¥15 AIC3204的示例代码有吗,想用AIC3204测量血氧,找不到相关的代码。