C语言求给定两个自然数之间的所有素数(质数)

C语言求给定两个自然数之间的所有素数(质数)

直接上代码 

注意:关于内循环的循环条件没必要i从2到y

//任意输入两个自然数,求它们之间的所有素数及素数个数
# include <stdio.h>
# include <math.h>

void main ()
{
	int a, b, x, i, y;
	int z = 0;
	
	printf ("请输入两个自然数:");
	scanf ("%d%d", &a, &b);
	if (b>a)
	{
		x = a;
		a = b;
		b = x;
	}
	if (b<2)
		b = 2;

	printf("之间的所有素数为\n");
	for (y=b; y<=a; y++)
	{
		for (i=2; i<=sqrt(y); i++)
		{
			if (y%i==0)
				break;
		}
		if (i>sqrt(y))
		{
			z++;
			printf ("%d\t ", y);
			
			if (z%9==0)//九个为一行输出
			printf ("\n");
		}		
	}
	printf ("\n\n素数个数为%d\n", z);
}
发布了11 篇原创文章 · 获赞 7 · 访问量 1698

猜你喜欢

转载自blog.csdn.net/qq_43015237/article/details/102093141