练习4-11 统计素数并求和 (20 分)
1. 题目摘自
https://pintia.cn/problem-sets/12/problems/286
2. 题目内容
本题要求统计给定整数 M
和 N
区间内素数的个数并对它们求和。
输入格式:
输入在一行中给出两个正整数 M
和 N(1≤M≤N≤500)
。
输出格式:
在一行中顺序输出 M
和 N
区间内素数的个数以及它们的和,数字间以空格分隔。
输入样例:
10 31
输出样例:
7 143
3. 源码参考
#include<iostream>
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;
}