练习4-11 统计素数并求和 (20分)

本题要求统计给定整数M和N区间内素数的个数并对它们求和。

输入格式:
输入在一行中给出两个正整数M和N(1≤M≤N≤500)。

输出格式:
在一行中顺序输出M和N区间内素数的个数以及它们的和,数字间以空格分隔。

输入样例:
10 31

输出样例:
7 143

sqrt()开方不会超时,1不是素数

#include<stdio.h>
#include<string.h>
#include<math.h>
int judge(int a){
	
	for(int i=2;i<=sqrt(a);i++){
		if(a%i==0)return 0;
	}
	
	return 1;
}
int main(){
	
	int cnt=0,sum=0;
	int m,n;
	scanf("%d%d",&m,&n);
	
	for(int i=m;i<=n;i++){
		if(i==1);//1不是素数,特判掉
		else if(judge(i)==1){
			cnt++;
			sum+=i;
		}
	}
	
	printf("%d %d\n",cnt,sum);
	
	return 0;
} 
发布了10 篇原创文章 · 获赞 1 · 访问量 491

猜你喜欢

转载自blog.csdn.net/xuhang513/article/details/104608061