这个是我写的程序,试运行的时候到了8就会多输出一个2
这个是题目。
修改如下,供参考:
#include <stdio.h>
int main()
{
int func(int x);
int i,n;
scanf("%d",&n);
for(i = 1;i < n; i++){
if (n%i==0 && func(i))
printf("%d\n",i);
}
return 0;
}
int func(int x)
{
int i;
if (x <= 3) return x > 1;
for(i = 2;i*i <= x; i++)
if(x%i == 0) return 0;
return 1;
}