问题:输入两个整数X和Y,输出两者之间的素数个数(包括X和Y),我来为大家讲解一下关于c语言怎么判断素数个数?跟着小编一起来看一看吧!

c语言怎么判断素数个数(C语言判断2个整数之间素数的个数)

c语言怎么判断素数个数

问题:输入两个整数X和Y,输出两者之间的素数个数(包括X和Y)。

输入:两个整数X和Y(1 <= X,Y <= 10 5)。

输出:输出一个整数,表示X,Y之间的素数个数(包括X和Y)。

程序:

#include <stdio.h>

void swap(int *a, int *b);//用指针将两个变量的大小交换。

int isprime(int n); //将判断是否为素数打包为函数可以使主函数更容易读。

int main()

{

int x, y, sum=0, i;

scanf("%d %d", &x, &y);

if(x > y)

swap(&x, &y); //使x<y。

if(x <= 2) {

x = 3;

sum = 1;

} else {

if(x % 2 == 0)

x ;

} // 将特殊情况排除,提高了程序运行的速度。

for(i=x; i<=y; i =2)

if(isprime(i))

sum ;

printf("%d\n", sum);

return 0;

}

void swap(int *a, int *b)

{

int t;

t = *a;

*a = *b;

*b = t;

}

int isprime(int n)

{

int i;

for(i=3; i*i<=n; i =2)

if(n % i == 0)

return 0;

return 1;

}

,