这道题我用的是打勾✔法,总共就26个字母,不可能超时。打勾法需要定义全局int数组
。再打擂台找最大最小。最后相减判断是否为素数即可。下面为AC代码。
#include<iostream>
#include<cmath>
using namespace std;
int a[128],maxv,minv=100,i,cha;
int main(){
string x;
cin>>x;
for(i=0;i<x.size();i++)a[x[i]]++;
for(i=97;i<=122;i++){
if(a[i]>maxv)maxv=a[i];
if(a[i]!=0&&a[i]<minv)minv=a[i];
}
cha=maxv-minv;
if(cha==0||cha==1){
cout<<"No Answer"<<endl<<0;
return 0;
}
for(i=2;i<=int(sqrt(cha));i++)
if(cha%i==0){
cout<<"No Answer"<<endl<<0;
return 0;
}
cout<<"Lucky Word"<<endl<<cha;
return 0;
}
大伙儿有什么意思在下面留言~~
用CSDN博客园编辑,邮箱:512655189@qq.com