组合题
#include <iostream>using namespace std; bool isPrime(int n) {    if (n <= 1) {        return false;    }    for (int i = 2; i * i <= n; i++) {        if (n % i == 0) {            return false;        }    }    return true;} int countPrimes(int n) {    int count = 0;    for (int i = 2; i <= n; i++) {        if (isPrime(i)) {            count++;        }    }    return count;} int sumPrimes(int n) {    int sum = 0;    for (int i = 2; i <= n; i++) {        if (isPrime(i)) {            sum += i;        }    }    return sum;} int main() {    int x;    cin >> x;    cout << countPrimes(x) << " " << sumPrimes(x) << endl;    return 0;}
(1)判断题原卷 1.5 分

当输入为 1010 时,程序的第一个输出为 44 ,第二个输出为 1717。()

填写答案
(2)判断题原卷 1.5 分

若将 isPrime(i) 函数中的条件改为 i<=n/2,输入 2020 时, countPrimes(20) 的输出将变为 66。()

填写答案
(3)判断题原卷 1.5 分

sumPrimes 函数计算的是从 22 到 nn 之间的所有素数之和。

填写答案
(4)单选题原卷 3 分

当输入为 5050 时,sumPrimes(50) 的输出为( )。

填写答案
(5)单选题原卷 3 分

如果将 for (int i = 2; i * i <= n; i++) 改为 for (int i = 2; i <= n; i++),输入 1010 时,程序的输出( )。

填写答案