万卷网 > 题目详情
题型:组合题

阅读程序(1)

#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).

若将 isPrime(i)函数种的条件改为 i<=n/2,输入“20”时,countPrimes(20)的输出将变为“6”。( )

A.正确 B.错误
(2).

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

A.

将不能正确计算 10 以内素数个数及其和

B.

仍然输出4和17

C.

输出3和 10

D.

输出结果不变,但运行时间更短

(3).

当输入为“50”时,sumPrimes(50)的输出为( )

A.

1060

B.

328

C.

381

D.

275

(4).

sumPrimes 函数计算的是从 2 到 n 之间的所有素数之和。( )

A.正确 B.错误
(5).

当输入为“10”时,程序的第一个输出为“4”,第二个输出为“17”。( )

A.正确 B.错误
更新时间:2025-01-16 18:09:48 |
【知识点】 CCF非专业级别软件能力认证CSP-J/入门级

相似题推荐

简答题

T4多边形


2026-04-17
简答题

T3异或和


2026-04-17
简答题

T2座位


2026-04-16
简答题

T1拼数

2026-04-16
单选题

假设a、b、c都是布尔变量,逻辑表达式(a &&b)IⅡ(!c &&a)的值与下列哪个表达式不始终相等?()

A.

a &&(bⅡ!c)

B.

(al|!c)&&(bⅡ !c)&&(all a)

C.

a &&(!b II c)

D.

!(!a|!b)II(a &&!c)

2025-10-16
公众号
客服 反馈
顶部