解题思路:本来想使用sqrt()函数,据说for(i=0;i<sqrt(m);i++)运算次数要比m/2少;头文件因该是math.h
注意事项:
参考代码:
#include<stdio.h>
int tab(int);
int main()
{
int a;
/*while(1) //在VC6.0里边为了连续测试加的,这里边肯定是超时了。
{*/
scanf("%d",&a);
if(tab(a)==0)
printf("prime\n");
if(tab(a)==1)
printf("not prime\n");
//}
return 0;
}
int tab(int m)
{
int flg;
int i;
flg=0;
for(i=2;i<=m/2;i++)
if(m%i==0)
{
flg=1;
break;
}
return flg;
}
0.0分
0 人评分
#include<stdio.h> int tab(int); int main() { int a; while(1) { scanf("%d",&a); if(tab(a)==0) printf("prime\n"); if(tab(a)==1) printf("not prime\n"); } return 0; } int tab(int m) { int flg; int i; flg=0; if(m==1) { flg=1; return flg; } for(i=2;i<=m/2;i++) if(m%i==0) { flg=1; break; } return flg; 上边程序忘记1也不是素数了