PAT C入门题目-7-33 统计素数并求和 (20 分)

7-33 统计素数并求和 (20 分)

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

输入格式:

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

输出格式:

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

输入样例:

10 31

输出样例:

7 143
bool ISZS(int n){
   int i=2;
   bool ret=true;
   while(i <= n){
       if(i%n == 0){
        ret = false;
        i++;
       }
   }
   return ret;
}

#include <stdio.h>
#include <stdbool.h>
#include<math.h>

bool  Iszs(int n)
{
    int i=2;
    while(i<=floor(sqrt(n))&&(n%i!=0))  //floor为向下取整函数,sqrt()求平方根
    i++;
    if(i>floor(sqrt(n)) && n!=1)//若是因为i大于n的平方根而跳出循环,则说明n为质数
    return true;  
    return false;
}
int main(void)
{
    int m,n,count=0,sum=0;
    scanf("%d%d",&m,&n);
    for(int i=m;i<=n;i++){
       if(Iszs(i)==true){
             count++;
             sum+=i;
        }
    }
    printf("%d %d",count,sum);
    return 0;
}
 

猜你喜欢

转载自blog.csdn.net/qq_37503890/article/details/86582115
今日推荐