首页 常识

判断素数的方法(C语言教程)

  • 100人浏览   2024-08-29 08:37:20

  • ①目标

    判断一个数字区间里的素数

    有几个?有哪些?

    素数即除了1和自身

    不能被其他数整除的数。

    ②命令行

    #include< stdio.h>

    #include< stdlib.h>

    #define MAX 100

    ~

    ③定义函数

    int fun (int a,int b[MAX])

    {

    int i,j,k=0;

    for(i=2,i<=a;i++)

    /*因为素数因数分解的唯一性,1不是素数,故从2开始遍历*/

    {for(j=2;j<i;j++)

    /*除了1和本身i,之间的数全部遍历*/

    if(i%j==0)break;

    /*1到i之间有数j能整除i,则i不是素数*/

    if(j>=i)aa[k]=i;

    /*一直遍历到j>=i,即1到i之间没有数能整除i,则i是素数。同时将素数存入数组aa[k]中。*/

    k++;

    /*k用于数组下标计数*/

    }

    return k;

    /*k表示素数的个数*/

    }

    ~

    ④主函数(调用)

    void main()

    {int a,i,s;

    int b[MAX];

    printf("输入一个整数:");

    scanf("%d",&a);

    /*输入a,表示求0到a之间的素数*/

    s=fun(a,b);

    /*素数个数s,储存在数组b[i]中*/

    for(i=0;i<s;i++)

    {if(i%10==0&&i!=0)

    /*每行输出10个数1个回车,

    不足10个数表示最后一行不用回车*/

    printf("\n");

    printf("%5d",b[i]);}

    }