c求助,测试点1一直过不去

P5736 【深基7.例2】质数筛

下载的测试点1输出是2 3 5 2, 但是自己用编译器试只输出2 3 5
by JIUZHOU1 @ 2023-11-21 11:08:16


正好看了你的代码我看到我的代码错在哪里,我帮你简化了一下```c #include <stdio.h> int count[10001]; int prime(int a){ int isprime=1;//可以把isprime改为flag if(a<2) return 0;//注意加这个,1的问题 for(int j=2;j<=(a/2);j++){ if(a%j==0)isprime=0; } if(isprime) return a; return 0; } int main(){ int prime(int a);//可以把这个删了,没用 int n,number; scanf("%d",&n); for(int i=0;i<n;i++){ scanf("%d",&number); int x=prime(number); if(x){ //if(count[x]<1){ printf("%d ",x); // count[x]++ // } } } return 0;//注意规范 } ``` 看到回复一下
by 40tianlingying @ 2023-12-12 20:00:31


```c #include <stdio.h> int count[10001]; int prime(int a){ int isprime=1;//可以把isprime改为flag if(a<2) return 0;//注意加这个,1的问题 for(int j=2;j<=(a/2);j++){ if(a%j==0)isprime=0; } if(isprime) return a; return 0; } int main(){ int prime(int a);//可以把这个删了,没用 int n,number; scanf("%d",&n); for(int i=0;i<n;i++){ scanf("%d",&number); int x=prime(number); if(x){ //if(count[x]<1){ printf("%d ",x); // count[x]++ // } } } return 0;//注意规范 } ``` @[JIUZHOU1](/user/1192626)
by 40tianlingying @ 2023-12-12 20:01:35


难道1不是质数吗,输出1还是错的?
by C15989709725 @ 2023-12-17 16:31:25


@40tianlingying谢谢
by JIUZHOU1 @ 2023-12-19 17:33:14


@[C15989709725](/user/1208268) 1不是质数
by JIUZHOU1 @ 2023-12-19 17:33:39


@[40tianlingying](/user/1116698) 收到了,谢谢。 已了解该题出错点
by C15989709725 @ 2024-01-07 22:40:48


@[C15989709725](/user/1208268) 好的好的
by 40tianlingying @ 2024-01-19 21:04:40


|