所在位置:论坛首页 -> 计算机科学与技术 -> 程序设计 -> 关于c编程判断一个数是否为素数 |
在编程中判断一个素数主要是按照其定义判定,即除1与其本身外不能被任何数整除.
在搜索中只要确定一个数能被整除即退出循环并返回false值,另外在小于根号下该数的范围内找不到能整除该数的,那么在根号下该数到该数之间的任何整数也不能整除该数,因为如果在第一个范围内找到可以整除该数的,那么另一个因数就分布在另一个范围内,因此可以避去一个区间而直接在一个区间搜索即可.
以36为例,36开平方是6,也就是说能整除36的数分布在0-6和6-36之间。2*18,3*12,4*9,6*6,所以只需要判断一个区间就可以了。
程序如下:
#include<stdio.h>
#include<math.h>.
void main()
{
int m,i,k;
scanf("%d",&m);
k=sqrt(m);
for(i=2;i<=k;i++)
if(m%i==0)break;
if(i>k)printf("%d is a prime number\n",m);
else printf("%d is not a prime number\n",m);
}
操作选项: 评分 加精 解精 奖惩 设专题 设公告 解公告 固顶 总固顶 解固顶 结帖 解结帖 锁帖 解锁 移帖 删帖 |
|