判断素数(质数)的方法
程序员文章站
2024-03-15 14:45:47
...
素数又称质数。所谓素数是指除了 1 和它本身以外,不能被任何整数整除的数
法1:因此判断一个整数m是否是素数,只需把 m 被 2 ~ m-1 之间的每一个整数去除,如果都不能被整除,那么 m 就是一个素数。
这个方法理所当然,不解释
法2:简化方法,m 不必被 2 ~ m-1 之间的每一个整数去除,只需被 2 ~ 之间的每一个整数去除就可以了。如果 m 不能被 2 ~ 间任一整数整除,m 必定是素数。
证明过程:
因为如果 m 能被 2 ~ m-1 之间任一整数整除,有
#include<stdio.h>
#include<math.h>
int main(){
int num;
scanf("%d",&num);
for(int i=sqrt(num);i>1;i--){
if(num%i==0){
printf("%d不是素数\n",num);
break;
}
if(i==2&&num%i!=0)
printf("%d是素数\n",num);
}
return 0;
}
在linux下进行编译需要添加 -lm ,具体命令为 gcc xx.c -o xx.o -lm
因为数学函数位于libm.so库文件中(通常在/lib目录下),-lm选项告诉编译器,我们程序中用到的数学函数要到这个库文件里找.
上一篇: 【python】求100以内素数/质数和