1.专门用一个长度为26的数组来记录各个字母出现的次数
2.遍历计数数组找到max和min
3.检查差值是否为质数
#include <stdio.h>
#include <math.h>
int main(){
    int arr[26] = {0};  //计数数组
    char s;
    int i = 0, min = 100, max = 0;
    while(scanf("%c", &s) != EOF){
        arr[s - 'a']++;  
    }//对各个字母出现次数计数,a记在arr[0],b在arr[1],以此类推
   for(i = 0; i < 26; i++){
       if(arr[i] == 0)  //对于次数为0即没出现过的字母不进行max和min的比较
           continue;
       if(max < arr[i])
           max = arr[i];
       if(min > arr[i] )
           min = arr[i];
   }
    int k = max - min;
    if(isprime(k) == 1){  //检验是否为质数
        printf("Lucky Word\n");
        printf("%d",k);
        return 0;
        }
    printf("No Answer\n");
    printf("0");
    return 0;
}
int isprime(int n){   //检验质数的函数
    if(n<2)
        return 0;  //0和1不是质数
    int flag = 1;
    for(int i = 2; i<=sqrt(n); i++)
        if(n % i == 0){
            flag = 0;
            break;
        }
    return flag;         
}