素数判断的三种方法以及简单实现!

来源:互联网 发布:宾馆网络解决方案 编辑:程序博客网 时间:2024/06/08 05:35
判断一个正整数m是否为素数主要有三种方法:
        方法1:让m依次被2,3,…,m-1除,如果m不能被2~m-1中的任何一个整数整除,则m是素数。
        方法2:让m依次被2,3,…,m/2除,如果m不能被2~m/2中的任何一个整数整除,则m是素数。

        方法3:让m依次被2,3,…,sqrt(m)除,如果m不能被2~sqrt(m)中的任意一个整数整除,则m为素数。sqrt(m)为m的平方根。

方法一

代码实现:

#include<stdio.h>int main(){    int i = 0;    int j = 0;    for (i = 100; i <= 200; i++)    {        for (j = 2;j <= i-1;j++)        {            if (i % j == 0)            {                break;            }        }        if (j >= i)        {            printf("%d ",i);        }    }    puts("");    return 0;}

方法二

代码实现:

#include<stdio.h>int main(){    int i = 0;    int j = 0;    for (i = 100; i <= 200; i++)    {        for (j = 2; j <= i / 2; j++)        {            if (i%j == 0)            {                break;            }        }        if (j >= i / 2)        {            printf("%d ",i);        }    }    puts("");    return 0;}

方法三

实现代码:

#include <stdio.h>#include <math.h>int main(){    int m,i,k,n=0;     for(m = 101;m <= 200;m += 2)    //m+2排除偶数    {         k=sqrt(m);         for (i=2;i<=k;i++)        {            if (m%i==0)            {                break;             }        }        if (i>k)         {            printf("%d ",m);         }     }     puts("");} 

注:Linux 环境下编译时需要链接数学函数库 即  gcc xxx.c -lm 可生成a.out文件


原创粉丝点击