当前位置:首页 » 《休闲阅读》 » 正文

(c语言)素数判断的四种方法

22 人参与  2024年12月24日 16:01  分类 : 《休闲阅读》  评论

点击全文阅读


方法一: 

#include <stdio.h>               //方法一:在2到n-1之间任取一个数,如果n能被所取的数整除则不是素数,否则就是素数       int main()                        //因为我们只需要循环到i<n,而不是i<=n,否则就会出错。{    int i, n;    printf("请输入数值 ");    scanf("%d", &n);    if (n<=1)    {        printf("数据错误,不在取值范围内\n");        return 0;    }    for (i = 2; i <= n - 1; i++)       //在2到n-1之间任取一个数    {        if (n % i == 0)         {            break;        }    }    if (i == n)    {        printf("这是素数\n");         //直到循环结束都未被整除,是素数    }    else    {        printf("这不是素数\n");        //能被整除,不是素数    }    return 0;}

方法二: 

#include<stdio.h>                    //方法二:在2到n/2之间任取一个数,如果n能被所取的数整除则不是素数,否则就是素数int main(){    int n, i;    printf("请输入数值: ");    scanf("%d", &n);    if (n<=1)    {        printf("数据错误,不在取值范围内\n");        return 0;    }    for (i = 2; i <= n / 2; i++)     //在2到n/2之间任取一个数    {        if (n % i == 0)        {            printf("这不是素数\n");      //能被整除,不是素数            break;        }    }    if (i == n / 2 + 1)    {        printf("这是素数\n");           //循环结束还不能被整除,是素数    }    return 0;}

方法三: 

#include<stdio.h>                       //方法三:在2到sqrt(n)之间任取一个数,如果n能被整除则不是素数,否则就是素数 #include <math.h>                       //引用数学公式的声明int main(){    int i, j, n;    printf("请输入数值: ");    scanf("%d", &n);    j = (int)sqrt(n);                   //j为n开平方根,也就是根号下n    if (n<=1)    {        printf("数据错误,不在取值范围内\n");        return 0;    }    for (i = 2; i <= j; i++)            //在2到sqrt(n)之间任取一个数    {        if (n % i == 0)        {            break;        }    }    if (j < i)    {        printf("这是素数\n");            //循环结束还不能被整除,是素数    }    else    {        printf("这不是素数\n");          //被整除,不是素数    }    return 0;}


方法四:质数分布的规律:大于等于5的质数一定和6的倍数相邻。


点击全文阅读


本文链接:http://zhangshiyu.com/post/206237.html

<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

关于我们 | 我要投稿 | 免责申明

Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1