思路:输入,转换数组,排序,依次判断字母个数并将个数存储数组,再排序,找大找小,判断,输出
感谢yuting_xie的判断质数函数:)
bool zhi(int x)
{
if (n == 1 or n == 0)
{
return false;
}
for (int i = 2; i < sqrt(n); i++)
{
if (n % i == 0)
{
return false;
}
}
return true;
}
代码如下
#include<bits/stdc++.h>
using namespace std;
bool zhi(int x)
{
if (x == 1 or x == 0)
{
return false;
}
for (int i = 2; i < sqrt(x); i++)
{
if (x % i == 0)
{
return false;
}
}
return true;
}
int main()
{
char a[200];
int n,m,p,u,i,lo,b[200],c[200];
cin>>n>>a;
lo=strlen(a);
m=0;
n=0;
for (i=0;i<lo;i++)
{
b[i]=a[i];
}
sort(b,b+lo);
n=1;
u=1;
for (i=1;i<lo;i++)
{
if (b[i]==b[i-1])
n++;
else
c[u]=n;
u++;
n=1;
}
sort(c,c+u);
n=c[0];
m=c[u];
p=abs(n-m);
if (zhi(p)==1)
cout<<"Lucky Word"<<endl<<p;
else
cout<<"No Answer"<<endl<<"0";
return 0;
}