#include <stdio.h>
#include <string.h>
int main()
{
char a[102];
int k;
scanf("%d",&k);
while(k--)
{
int b[28]={0};
scanf("%s",a);
int n=strlen(a);
int i,max=0,min=100,p;//100爲單詞字母個數最大上線
for(i=0;i<n;i++)
{
b[a[i]-'a']++;
}
for(i=0;i<26;i++)
{
if(b[i]>max)
max=b[i];
}
for(i=0;i<26;i++)
{
if(b[i]<min&&b[i]!=0)
min=b[i];
}
p=max-min;
if(p>=2)
{
for(i=2;i<p;i++)
{
if(p%i==0)//判斷是否爲質數這裏 要好好改進 但要注意取值是否都取到了
break;
}
if(i==p)
{
printf("Lucky Word\n");
printf("%d\n",p);
}
else
{
printf("No Answer\n");
printf("0\n");
}
}
else
{
printf("No Answer\n");
printf("0\n");
}
}
return 0;
}
此題就是取了一個巧 存放字母出現個數的 時候 用數組下標表示各個字母在26個英文字母中的 順序
nyoj62 笨小熊
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.