(C语言)素数是指大于1,且只能被1和它自身整除的正整数。现给定一个范围,请输出在此范围中素数的个数。

题目描述:

素数是指大于1,且只能被1和它自身整除的正整数。现给定一个范围,请输出在此范围中素数的个数。

输入:

测试数据有多组,每组单独占一行,包括两个正整数m和n(2≤m,n≤10000),中间用空格分隔。请输出m和n之间的素数的个数(包括m和n)。

输出:

对于每组输入数据,输出对应的素数个数,每组单独占一行。

样例输入:

2 5
25 30

样例输出:

3
1

#include<stdio.h>
#include<math.h>
int main(){
    
    
	int m,n;
	while(scanf("%d %d",&m,&n)!=EOF){
    
    
		int i,j,t;
		if(m>n){
    
    
			t=m;
			m=n;
			n=t;
		}
		int prime[10001];
		int count=0;
		for(i=2;i<=10000;i++){
    
    
			prime[i]=1;
		}
		for(i=2;i<=sqrt(10000);i++){
    
    
			if(prime[i]){
    
    
				for(j=i*i;j<=10000;j+=i){
    
    
					prime[j]=0;
				}
			}
		}
		for(i=m;i<=n;i++){
    
    
			if(prime[i]){
    
    
				count++;
			}
		}
		printf("%d\n",count);
	}
}

猜你喜欢

转载自blog.csdn.net/WuwuwuH_/article/details/115034439