分享

015.利用数组求前n个质数

 C语言与CPP编程 2022-04-25
#define N 50
main()
{
	int primes[N];
	int pc,m,k;

	clrscr();
	printf("\n The first %d prime numbers are:\n",N);
	primes[0]=2;/*2是第一个质数*/
	pc             =1;/*已有第一个质数*/
	m               =3;/*被测试的数从3开始*/
	while(pc<N)
	{
	 /*调整m使它为下一个质数*/
	k=0;
	while(primes[k]*primes[k]<=m)
		if(m%primes[k]==0)
		{/*m是合数*/
		    m+=2;/*让m取下一个奇数*/
		    k=1;/*不必用primes[0]=2去测试m,所以k从一开始*/
		}
		else
		k++;/*继续用下一个质数去测试*/
	primes[pc++]=m;
	m+=2;/*除2外,其余质数均是奇数*/
	}
	/*输出primes[0]至primes[pc-1]*/
	for(k=0;k<pc;k++)
		printf("%4d",primes[k]);
	printf("\n\n Press any key to quit...\n ");
	getch();
}

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多