欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

判断素数(质数)的方法

程序员文章站 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选项告诉编译器,我们程序中用到的数学函数要到这个库文件里找.