PTA|《C语言程序设计(第3版)》练习4-11 统计素数并求和 (20分)

社会主义新天地 提交于 2020-02-07 17:49:42

题目

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

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

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

输入样例:

10 31

输出样例:

7 143

参考解答

#include<stdio.h>
#include<math.h>
int isprime(int n){
    int i,ret=1;
    if(n>2&&n%2==0)ret=0;
    else if(n<2)ret=0;
    else{
	    	for(i=3;i<=sqrt(n);i+=2){
	        if(n%i==0){
	            ret=0;
	            break;
	        }
	    }
	}   
    return ret;
}
int main(){
    int i,sum=0,cout=0,m,n;
    scanf("%d %d",&m,&n);
    for(i=m;i<=n;i++){
        if(isprime(i)==1){
            sum+=i;
            cout++;
        }
    }
    printf("%d %d",cout,sum);
    return 0;
}
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!