admin头像

C语言判断是否是素数

来源:
   

  有客在学习C语言的过程中,遇到素数判断这一问题,一开始始终没搞明白素数是什么,如何去判断素数?

  将案例写下来留给后来者,方便学习。

  素数条件,除1和它本身,不能被任何整数整除的数。

  比如 n(被除数)除 2~(n-1) ,如果都不能整数,说明该数为素数。(https://www.soutuyun.com)

#define _CRT_SECURE_NO_WARNINGS //c文件使用了strcpy,scanf等不安全的函数,而报警告和错误,而导致无法编译通过。
#include <stdio.h>
int main()
{
    int s = 0, b = 0, c = 0, i = 2;
    //printf("请输入一个大于或等于3的正整数:");
    scanf("%d,", &s);
    //printf("输入数字打印为:%d\n", s);
    if (s < 3) {
        printf("\n您输入的数字小于3,请重新输入.\n");
    }
    else {
        while (i < s) {
            b = s % i;
            printf("i=%d b=%d\n",i,b);
            if (b == 0){
                c = c + 0; 
                break;
            } else { 
                c = c + 1;
            }
            printf("c=%d\n", c);
            i = i + 1;
        }
        if (c == 0) {
            printf("您输入的数字不是素数。\n");
        }
        else {
            printf("您输入的数字是素数。\n");
        }
    }
        printf("搜图云 https://www.soutuyun.com\n");
    return 0;
}

  可以看素数图对比下,运行结果是否有错误:

C语言判断是否是素数-有客