这是代码
#include <iostream>
#include <cmath>
#include <cstring>
using namespace std;
int maxm[26],minm[26];
bool isprime(int a){
for ( int i=2; i*i<=a; i++ ){
if ( a%i==0 ){
return false;
}
}
return true;
}
int max(char a[],int b[26]){
int n=strlen(a),maxn=-1;
for ( int i=0; i<n; i++ ){
maxm[a[i]-96]++;
}
for ( int i=1; i<=26; i++ ){
if ( b[i]>maxn ){
maxn=b[i];
}
}
return maxn;
}
int min(char a[],int b[26]){
int n=strlen(a),minn=999;
for ( int i=0; i<n; i++ ){
minm[a[i]-96]++;
}
for ( int i=1; i<=26; i++ ){
if ( b[i]!=0&&b[i]<minn ){
minn=b[i];
}
}
return minn;
}
int main(){
char a[100];
cin >> a;
int n=max(a,maxm),m=min(a,minm),o=n-m;
if ( isprime(o) ){
cout << "Lucky Word" << endl << o;
} else {
cout << "No Answer" << endl << 0;
}
return 0;
}
max是出现次数最多的次数,min是出现次数最少的次数,isprime是判断质数