相关代码 |
|
例6.8判断m是否素数。算法如图6.14所示。 我们采用的算法是这样的:让m被2到m 除,如果m能被2~m 之中任何一个整数整除,则提前结束循环,此时i必然小于或等于k(即m);如果m不能被2~k(即m)之间的任一整数整除,则在完成最后一次循环后,i还要加1,因此i=k+1,然后才终止循环。在循环之后判别i的值是否大于或等于k+1,若是,则表明未曾被2~k之间任一整数整除过,因此输出“是素数”。 程序如下:#include main() { int m,i,k; scanf("%d",&m); k=sqrt(m+1);/*加1是为了避免在求m时可能出现的误差*/ for (i=2;i if(m%i==0) break; if(i>=k+1) printf("%d is a Prime muber\n",m); else printf("%d is not a Prime number\n",m); } 运行情况如下: 17
相关资源 |
|