你的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;
}
应该没有问题了……
prime中,吧else去掉即可,这是逻辑上的
int prime(int n)
{
int i;
for(i=2;i
return 0;
return 1;
}
还有一个地方,mn的大小问题,如果手误输入翻了,n小于m咋办?
判断一下,把mn交换
判断素数有问题
int prime(int n)
{
int i;
for(i=2;i*i<=n;i++)
if(n%i==0)
return 0;
return 1;
}