1. 程式人生 > >洛谷p1125笨小猴

洛谷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; }