零基础学C/C++165——输出素数

零基础学C/C++165——输出素数

题目描述
编写一个判断素数的函数,主函数中利用这个函数,打印出n与m之间的所有素数。
输入
多组测试数据,每组输入2个整数n和m,其中1 < n <= m <= 1000
输出
在一行输出n和m之间(包含n和m)的所有素数,中间用空格隔开,最后一个数后面没有空格。
样例输入 Copy
2 14
样例输出 Copy
2 3 5 7 11 13
思路:遍历n和m之间的数,让每一个数都去依次除以大于等于2小于该数的值,如果能整除,则不是素数。
2要拿出来单独考虑
代码如下

#include
void f(int m,int n);
int main()
{
	int m,n;
	while(scanf("%d%d",&m,&n)!=EOF)
	{
		f(m,n);
	}
	return 0;
}
void f(int m,int n)
{
	int i,flag,j=0;
	int a[1005];
	for(i=m;i<=n;i++)
	{
		flag=0;
		if(i==2)//2要拿出来单独考虑
		{
			a[j]=i;
			j++;
		}
		else
		{
			for(int t=2;t<i;t++)
			{
				if(i%t==0)
				{
					flag=1;
					break;
				}
			}
			if(flag==0)
		    {
			    a[j]=i;
			    j++;
		    }
		}	
	}
	for(int k=0;k<j-1;k++)
	{
		printf("%d ",a[k]);
	}
	printf("%d\n",a[j-1]);
}

你可能感兴趣的:(笔记)