【Prime Number】
素数定义:素数就是质数,指出了“1”和他本身,没有其他因数的数字,
0,1不是素数,第一个素数是2,依次是2,3,5,7,11……
以搜索1000以内的素数为例,判断出来的素数存放于一维数组中。
1、一般遍历(双重循环)
采用双重循环,表层循环游标 J 负责遍历2-1000,内层游标K的范围是[2,根号J],在内层游标遍历的过程中,如果
表层循环游标J如果能整除K,则说明J代表的数字不是素数,当K遍历完[2,根号J],仍没找到因数,说明J是个素数。存入数组。
#include <math.h>
#include <stdio.h>
#define Max 1000 //Max = 1e3 =1 * 10的3次方,即一千
int sushu[Max]={0},count=1; //保存素数在数组中,count计数素数个数
void prime();
int main(){
prime();
int i;
for(i=1; i<Max; i++){
if(sushu[i] == 0){
break;
}
printf("%3d ",sushu[i]);
if(i%10 == 0){
printf("\n");
}
}
return 0;
}
void prime(){
int total; //每次循环等于 sq