洛谷p1125笨小猴

https://www.luogu.org/problemnew/show/P1125

判断一个字符串中出现次数最多的字符的出现次数-出现次数最少的字符的出现次数是不是一个素数。注意特判0和1不是素数,统计时出现次数为0不算出现次数最少。

#include<cstdio>
#include<cmath>
#include<cstring>
#include<algorithm> 
using namespace std;

int n,cnt[26],maxn,minn=100;
char s[100];

bool check(int n)
{
    if(n==0 || n==1)return 0;
    int m=sqrt(n)+0.5;
    for(int i=2;i<=m;i++)if(!(n%i))return 0;
    return 1;
}

int main()
{
    scanf("%s",s);
    n=strlen(s);
    for(int i=0;i<n;i++)cnt[s[i]-'a']++;
    for(int i=0;i<26;i++)if(cnt[i]){maxn=max(maxn,cnt[i]);minn=min(minn,cnt[i]);}
    if(check(maxn-minn))printf("Lucky Word\n%d\n",maxn-minn);
    else printf("No Answer\n0\n");
    return 0;
}

猜你喜欢

转载自blog.csdn.net/Wen_Yongqi/article/details/80981559