当前位置:   article > 正文

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

c语言判断素数

方法一: 

  1. #include <stdio.h>               //方法一:在2到n-1之间任取一个数,如果n能被所取的数整除则不是素数,否则就是素数       
  2. int main()                        //因为我们只需要循环到i<n,而不是i<=n,否则就会出错。
  3. {
  4.     int i, n;
  5.     printf("请输入数值 ");
  6.     scanf("%d", &n);
  7. if (n<=1)
  8. {
  9. printf("数据错误,不在取值范围内\n");
  10. return 0;
  11. }
  12.     for (i = 2; i <= n - 1; i++)       //在2到n-1之间任取一个数
  13.     {
  14.         if (n % i == 0
  15.         {
  16.             break;
  17.         }
  18.     }
  19.     if (i == n)
  20.     {
  21.         printf("这是素数\n");         //直到循环结束都未被整除,是素数
  22.     }
  23.     else
  24.     {
  25.         printf("这不是素数\n");        //能被整除,不是素数
  26.     }
  27.     return 0;
  28. }

方法二: 

  1. #include<stdio.h>                    //方法二:在2到n/2之间任取一个数,如果n能被所取的数整除则不是素数,否则就是素数
  2. int main()
  3. {
  4.     int n, i;
  5.     printf("请输入数值: ");
  6.     scanf("%d", &n);
  7. if (n<=1)
  8. {
  9. printf("数据错误,不在取值范围内\n");
  10. return 0;
  11. }
  12.     for (i = 2; i <= n / 2; i++)     //在2到n/2之间任取一个数
  13.     {
  14.         if (n % i == 0)
  15.         {
  16.             printf("这不是素数\n");      //能被整除,不是素数
  17.             break;
  18.         }
  19.     }
  20.     if (i == n / 2 + 1)
  21.     {
  22.         printf("这是素数\n");           //循环结束还不能被整除,是素数
  23.     }
  24.     return 0;
  25. }

方法三: 

  1. #include<stdio.h> //方法三:在2到sqrt(n)之间任取一个数,如果n能被整除则不是素数,否则就是素数
  2. #include <math.h> //引用数学公式的声明
  3. int main()
  4. {
  5. int i, j, n;
  6. printf("请输入数值: ");
  7. scanf("%d", &n);
  8. j = (int)sqrt(n); //j为n开平方根,也就是根号下n
  9. if (n<=1)
  10. {
  11. printf("数据错误,不在取值范围内\n");
  12. return 0;
  13. }
  14. for (i = 2; i <= j; i++) //在2到sqrt(n)之间任取一个数
  15. {
  16. if (n % i == 0)
  17. {
  18. break;
  19. }
  20. }
  21. if (j < i)
  22. {
  23. printf("这是素数\n"); //循环结束还不能被整除,是素数
  24. }
  25. else
  26. {
  27. printf("这不是素数\n"); //被整除,不是素数
  28. }
  29. return 0;
  30. }


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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/AllinToyou/article/detail/593440
推荐阅读
相关标签
  

闽ICP备14008679号