输入2 个正整数m 和n(m≥1,n≤500),统计并输出m 和n 之间的素数的个数以及这些素数的和懿

2024-12-12 04:28:37
推荐回答(3个)
回答1:

你的prime函数漏洞太多,改如下,自己看,可续问。
int prime(int n){
int i;
if(n==1) return 0;
for(i=2;i<=n/2;i++)
if(n%i==0) return 0;
return 1;
}
应该没有问题了……

回答2:

prime中,吧else去掉即可,这是逻辑上的
int prime(int n)
{
int i;
for(i=2;i if(n%i==0)
return 0;
return 1;
}
还有一个地方,mn的大小问题,如果手误输入翻了,n小于m咋办?
判断一下,把mn交换

回答3:

判断素数有问题
int prime(int n)
{
int i;
for(i=2;i*i<=n;i++)
if(n%i==0)
return 0;
return 1;
}