当前位置:   article > 正文

C语言:判断一个数字是否是素数的方法_c语言判断素数

c语言判断素数

 分析:只能被 1和它本身整除的整数称为素数。在数学中,要判断n是否为素数,通常让n除以2~\sqrt{n}的每一个整数,如果, 能被 2~\sqrt{n}的某个整数整除,则说明,不是素数,否则n一定是素数

方法一:用for语句判断n是否为整数

  1. #include"math.h"
  2. #include"stdio.h"
  3. main()
  4. {
  5. int n,m,i,flag=0;
  6. printf("\n输人整数n=");
  7. scanf("%d",&n);
  8. m=sqrt(n);
  9. for(i=2;i<=m;i++)
  10. if(n%i==0)
  11. {
  12. flag=1;
  13. break;
  14. }
  15. if(flag)
  16. printf("\n%d不是素数.\n",n);
  17. else
  18. printf("\n%d是素数.\n",n);
  19. }

方法二 :编写一个判断函数,再在主函数里调用;

  1. #include <stdio.h>
  2. #include<math.h>
  3. int is_prime(int num)
  4. {
  5. int i;
  6. if (num<= 1) {
  7. return 0;
  8. }
  9. for(i=2;i<=sqrt(num);i++)
  10. {
  11. if (num%i==0)
  12. {
  13. return 0;
  14. }
  15. }
  16. return 1;
  17. }
  18. int main() {
  19. int num;
  20. printf("请输入一个整数:");
  21. scanf("%d", &num);
  22. if (is_prime(num))
  23. {
  24. printf("%d是素数。\n", num);
  25. }
  26. else
  27. {
  28. printf("%d不是素数。\n", num);
  29. }
  30. return 0;
  31. }

在这个代码中,我们首先定义了一个名为 `is_prime` 的函数,它接受一个整数作为参数。函数首先检查输入的整数是否小于等于1,如果是,则直接返回0,因为小于等于1的数不是素数。接下来,我们使用一个循环来从2开始遍历到输入整数的平方根,并检查输入的整数是否能被其中任何一个数整除。如果可以,返回0,表示该整数不是素数;否则,返回1,表示该整数是素数。

在 `main` 函数中,我们首先提示用户输入一个整数,然后调用 `is_prime` 函数来判断输入的整数是否为素数。如果是素数,输出 "%d是素数。";否则,输出 "%d不是素数。"。最后,返回0表示程序结束。
 

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

闽ICP备14008679号