首页 常识

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


①目标

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

有几个?有哪些?

素数即除了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]);}

}