这题是不是把1算质数了?

我在wikioi.com上也是60分,且没过的测试点maxn-minn的值全是1
我用的C。

Block code

#include<stdio.h>
#include<string.h>
void t(int a)
{
int i;
for(i=2;i<=a;i++)
if(a%i==0)
break;
if(a<2||i<a)
printf("No Answer\n");
else if(i==a)
printf("Lucky Word\n");
}
int main()
{
char s[100000];
int a[26]={0},i,min=1000000,max=0;
scanf("%s",s);
for(i=0;i<strlen(s);i++)
{
if(s[i]>=97&&s[i]<=122)
a[s[i]-97]++;
}
for(i=0;i<26;i++)
{
if(a[i]>=max)
max=a[i];
if(a[i]<=min&&a[i]>=1)
min=a[i];
}
t(max-min);
printf("%d\n",max-min);
return 0;
}

4 条评论

  • @ 2014-02-04 15:54:09

    你的 printf("%d\n",max-min);这句错了因为不是质数的时候是输出0,不是输出max-min

  • @ 2014-02-04 15:51:01

    1.首先告诉你这道题没错。
    2.你的代码明显错误
    3.你有没有看样例输入输出,你的代码连样例都过不了。

  • @ 2013-12-31 13:03:32

    希望以后lz先好好检查自己代码再来吐槽吧……NOIP题出错没有纠正的可能性不大吧……

    if(a[i]<=min&&a[i]>=1)
    你这句a[i]>=1的判定条件……肯定不对啊……

    • @ 2014-02-04 15:52:54

      它这个是正确的,必须要大于1,否则会最小值min最后等于
      但是你看他的输出。题目明显说了no answer后面输出0,它还在输出这个max-min

    • @ 2014-02-04 20:20:37

      ……乃说的是对的……

  • @ 2013-12-30 01:40:21

    【输入输出样例2解释】
    单词olympic中出现最多的字母i出现了2次,出现次数最少的字母出现了1次,2-1=1,1不是质数。

  • 1

信息

ID
1495
难度
5
分类
模拟 点击显示
标签
递交数
9619
已通过
3487
通过率
36%
被复制
16
上传者