----------------解决方案--------------------------------------------------------
#include<stdio.h>
#include<math.h>
{
int n,i,k;
scanf("%d",&n);
if(n==1)printf("Error");
k=sqrt(n+1);
for(i=2;i<=k;i++)
if(n%i==0)break;
if(i>=k+1)printf("%d is a prime nuber\n",n);
else
printf("%d is not a prime numeber\n",n);
}
这样就可以了
[此贴子已经被作者于2007-3-30 21:42:35编辑过]
----------------解决方案--------------------------------------------------------
我们原来学的1是不是算素数的? 我记得好象是的
另外,楼上的不是自动把1排除了么?
会输出is not a prime numeber的吧?
----------------解决方案--------------------------------------------------------
历史的事实是:
在歌德巴赫提出猜想的年代及威尔逊时期1是素数!
在此之后才被重新定为不是素数的!
----------------解决方案--------------------------------------------------------