C语言:判断一个数是否为素数

偏执的太偏执、 2022-05-27 01:43 361阅读 0赞

题目来源:大工慕课 链接
作者:Caleb Sung

注意事项

判断一个数是否为质数,首先我们需要知道质数的定义:对于大于1的数,如果除了1和它本身,它不能再被其它正整数整除,那么我们说它是一个质数 。

解答示范

此处特别感谢@qq_41990044网友的指正。

  1. #include<stdio.h>
  2. int main() {
  3. int i, j;
  4. printf("请输入一个正整数。\n");
  5. scanf("%d", &i);
  6. if (i < 2)
  7. printf("小于2,请重新输入。\n");
  8. else if (i % 2 == 0)
  9. printf("%d不是一个素数。\n", i);
  10. else {
  11. for (j = 2; j <= i / 2; j++) {
  12. if (i % j == 0) {
  13. printf("%d不是一个素数。\n", i);
  14. break;
  15. }
  16. if (j > i / 2){
  17. printf("%d是一个素数。\n", i);
  18. break;
  19. }
  20. }
  21. }
  22. }

另一套参考代码,功能也是用于判断数字是否为素数,只不过返回规范不符合要求,大家可以参考一下:

  1. #include <stdio.h>
  2. int main(){
  3. int a = 0;
  4. int num = 0;
  5. scanf("%d", &num);
  6. for (int i=2; i<num-1;i++){
  7. if (num % i == 0){
  8. a++;
  9. }
  10. }
  11. if (a==0){
  12. printf("YES\n");
  13. }else{
  14. printf("NO\n");
  15. }
  16. }

发表评论

表情:
评论列表 (有 0 条评论,361人围观)

还没有评论,来说两句吧...

相关阅读

    相关 c#判断一个是否素数

    素数是只能被1或本身整除,且不能为其他两个整数的乘积。1、2、3本身就是素数,判断一个数是否为素数,只需要用这个值依次除以2到它的开方数,如果其中有一个数可以整除,那么该值不为