桶排序
#include<stdio.h>
#include<string.h>
#include<math.h>
int isPrimeNum(int num)
{
for (int i = 2; i <= sqrt(num); i++) //1不是质数
if (!(num % i)) return 0;
if (num != 1 && num != 0)
return 1;
else
return 0;
}
int main()
{
int count[26] = { 0 }, max = 0, i = 0 ,min =0 ;
char ch = 0;
while ((ch = getchar()) != '\n')
{
if (isupper(ch))
ch = islower(ch);
count[ch - 'a']++;
min = ch - 'a';
}
for (i = 0; i < 26; i++)
{
max = count[max] > count[i] ? max : i ; //count[max]是次数,max是具体的字母
if (count[i] > 0)
min = count[min] < count[i] ? min : i;
}
if (isPrimeNum(count[max] - count[min]))
printf("Lucky Word\n%d\n", count[max] - count[min]);
else
printf("No Answer\n0\n");
return 0;
}

京公网安备 11010502036488号