【MAC 上学习 C++】Day 9-1. 练习4-11 统计素数并求和 (20 分)

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

1. 题目摘自

https://pintia.cn/problem-sets/12/problems/286

2. 题目内容

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

输入格式:

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

输出格式:

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

输入样例:

10 31

输出样例:

7 143

3. 源码参考
#include

using namespace std;

int prime(int n);

int main()
{
    int m, n;
    int s, cnt;

    cin >> m >> n;
    s = cnt = 0;

    for (int i = m; i <= n; i++)
    {
        if (prime(i))
        {
            s += i;
            cnt++;
        }
    }

    cout << cnt << " " << s << endl;

    return 0;
}

int prime(int n)
{
    if (n < 2)
    {
        return 0;
    }

    for (int i = 2; i <= n / 2; i++)
    {
        if (n % i == 0)
        {
            return 0;
        }
    }

    return 1;
}

你可能感兴趣的:(【MAC 上学习 C++】Day 9-1. 练习4-11 统计素数并求和 (20 分))