资源描述
筛选法求素数(质数)程序
算法描述:已知最小的素数是2,在从2开始的直至指定整数N的连续整数范围内,从第一个数2开始,向后判断筛选出所有2的倍数,然后从剩下的第一个数3开始,又向后筛选出所有3的倍数,然后又从剩下的第一个数5开始(4已筛选出来了),筛选出5的倍数,依此重复,直到最后(可优化此最后范围),则剩下的没有筛选出来的数则为素数。
试根据以上算法完成下段程序,此程序功能是输出指定范围内的所有素数,并统计其个数。
#define N 30
#include <stdio.h>
main()
{int num[N],i,j,sum=0;
for(i=1;i<N;i++) /*数据初始化*/
num[i]=i+1;
for(i=1;i<_________;i++)
{ for(j=________;j<N&&num[i]!=0;j++)
if(num[j]!=0&&_____________)
num[j]=0;} /*将此数置0,表明筛选出来*/
for(i=1;i<N;i++)
if(_______________)
{printf("%4d",num[i]);
sum++;}
printf("\ncount is %d",sum);
getch();}
展开阅读全文