输出10000内所有素数

利用函数方法:

#include <stdio.h>
/* 当函数返回值为1的时候是素数
   当函数返回值为0的时候不是素数*/
int panduan(int n)
{
	int i=2,j=1;
	while(i<=n/2)
	{
		if(n%i==0)
			j=0;
		i++;
	}
	return j;
}



int main()
{
	int i=2;
	int k=0;
	while(i<10000)
	{
		if(panduan(i))
		{
			printf("%6d",i);
			k++;
			if(k%5==0)
				printf("\n");
		}
		i++;
	}
}

用主函数写:

#include<stdio.h>
int main()
{
	int i=2,jishu,j,k=0;
	while(i<10000)
	{
		jishu=0;
		j=2;
		while(j<=i/2)
		{
			if(i%j==0)
				jishu++;
			j++;
		}
		if(jishu==0)
		{
			printf("%6d",i);
			k++;
			if(k%5==0)
				printf("\n");
		}
		i++;
	}
	printf("\n\n一共有%d个素数\n",k);

}

猜你喜欢

转载自blog.csdn.net/mishilq/article/details/83504204