欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2024-03-14 20:50:17
...

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);
}