对比了题解,我的思路貌似和雪乃大大的差不多,只是字符的读取和存入方式不一样但是我在另外的题目中也用到了该方法AC,如果分析不对请指正。
#include <iostream>
#include <math.h>
#include <cstring>
using namespace std;
int main()
{
int max1=0,min1=99999,s[27];
char m;
while(cin>>m){
s[m-'a']++;
if(s[m-'a']>=max1) max1=s[m-'a'];
if(s[m-'a']<=min1) min1=s[m-'a'];
}
int n=max1-min1,f=1;
if(n==0||n==1) f=1;
for(int i=2;i<n;i++){
if(n%i==0){
f=0;
break;
}
else continue;
}
if(f){
cout<<"Lucky Word"<<"\n"<<n;
}
else{
cout<<"No Answer"<<"\n"<<'0';
}
return 0;
}
``` ```