首页 > 代码库 > P1010 笨小猴【tyvj】

P1010 笨小猴【tyvj】

/*===========================================================P1010 笨小猴描述 Description笨小猴的词汇量很小,所以每次做英语选择题的时候都很头疼。但是他找到了一种方法,经试验证明,用这种方法去选择选项的时候选对的几率非常大!这种方法的具体描述如下:假设maxn是单词中出现次数最多的字母的出现次数,minn是单词中出现次数最少的字母的出现次数,如果maxn-minn是一个质数,那么笨小猴就认为这是个Lucky Word,这样的单词很可能就是正确的答案。输入格式 InputFormat输入只有一行,是一个单词,其中只可能出现小写字母,并且长度小于100。输出格式 OutputFormat输出共两行,第一行是一个字符串,假设输入的的单词是Lucky Word,那么输出“Lucky Word”,否则输出“No Answer”;第二行是一个整数,如果输入单词是Lucky Word,输出maxn-minn的值,否则输出0。输入样例1error输入样例2olympic输出样例1Lucky Word2输出样例2No Answer0这个题目要注意:有些字母可能没有出现 ,所以统计时可能会发现出现的最少次数是0.这个不合理,要屏蔽0这个情况。 =============================================================*/

 

 1 #include<stdio.h> 2 #include<math.h> 3 int fun(long n); 4 int main() 5 { 6     char s[108]; 7     int num[26]={0};  8     int i=0; 9     int maxn=-1,minn=1000;10     int t,p;11     scanf("%s",s);12     while(s[i]!=\0)13     {14         num[s[i]-a]++;15         i=i+1;16     }17     for(i=0;i<26;i++)18     {19         if(num[i]>maxn)20         {21             maxn=num[i];22         }23         if(num[i]<minn&&num[i]!=0)24         {25             minn=num[i];26         }27     }28     t=maxn-minn;29     if(fun(t)==1)30     {31         printf("Lucky Word\n%d\n",t);32     }33     else printf("No Answer\n0\n");34     35     return 0;36 }37 int fun(long n)//判断n是否质数,是则返回1,否则返回0;38 {39     long i,t;40     if(n<2) return 0;41     t=sqrt(n);42     for(i=2;i<=t;i++)43     {44         if(n%i==0) return 0;45     }46     return 1;47 }