#292. CSP-J 初赛模拟(阅读程序)
CSP-J 初赛模拟(阅读程序)
二、阅读程序(程序输入不超过数组或字符串定义的范围;除特殊说明外,判断题 1.5 分,选择题 3 分,共计 40 分)
程序(1)
#include <bits/stdc++.h>
using namespace std;
int main()
{
int l, r;
cin >> l >> r;
int cnt = 0;
long long sum = 0;
for(int i = l; i <= r; ++i)
{
if((i & (i - 1)) != 0)
{
cnt += 1;
sum += i;
}
}
cout << cnt << " " << sum << endl;
return 0;
}
判断题
- 当输入为
2 5时,程序的输出为2 8。( )
{{ select(16) }}
- 正确
- 错误
- 程序的输出总是两个正整数。( )
{{ select(17) }}
- 正确
- 错误
- 将
long long sum改为int sum,程序行为不变。( )
{{ select(18) }}
- 正确
- 错误
单选题
- 当输入为
1 100时,程序的输出为( )。
{{ select(19) }}
93 492392 482393 482392 4923
- 当输入为
10000 1000000时,程序的第一个输出为( )。
{{ select(20) }}
989993989994989995989996
程序(2)
#include <bits/stdc++.h>
using namespace std;
int main()
{
int n, m;
cin >> n >> m;
vector<int> a(n);
for(int i = 0; i < n; ++i)
{
cin >> a[i];
}
vector<int> dp(m + 1);
dp[0] = 0;
for(int i = 1; i <= m; ++i)
{
int now = 0;
for(int j = 0; j < n; ++j)
{
if(i >= a[j] && dp[i - a[j]] == 0)
{
now = a[j];
}
}
dp[i] = now;
}
cout << dp[m] << endl;
return 0;
}
判断题
- 当输入为
3 5 1 3 4时,程序的输出为 。( )
{{ select(21) }}
- 正确
- 错误
- ( 分)当输入的数组 为 且 为偶数时,程序的输出为 。( )
{{ select(22) }}
- 正确
- 错误
- 将循环嵌套内的条件改为
dp[i - a[j]] == 0,程序可能会产生编译错误。( )
{{ select(23) }}
- 正确
- 错误
单选题
- 当输入为
4 13 1 2 3 4时,程序的输出为( )。
{{ select(24) }}
- 当输入为
7 1000 1 2 3 4 5 6 7时,程序的输出为( )。
{{ select(25) }}
- (4分)当输入的数组 为 时,有( )个符合数据范围的整数 使得输出为 。
{{ select(26) }}
程序(3)
1 #include<bits/stdc++.h>
2 using namespace std;
3
4 vector<int> primes;
5 int comp_by[2000005];
6 void sieve(int n)
7 {
8 for(int x = 2; x <= n; x++)
9 {
10 if(comp_by[x] == 0)
11 primes.push_back(x);
12 for(int i = 0; i < primes.size(); i++)
13 {
14
15 if(x * primes[i] > n) break;
16 comp_by[x * primes[i]] = primes[i];
17 if(x % primes[i] == 0) break;
18 }
19 }
20 }
21 int main()
22 {
23 freopen("input.txt", "w", stdout);
24 freopen("output.txt", "r", stdin);
25 int n;
26 cin >> n;
27 sieve(n);
28 for(int i = 1; i <= n; i++)
29 cout << comp_by[i] << ' ';
30 return 0;
31 }
判断题
- 程序将从
input.txt读入数据,输出到output.txt。( )
{{ select(27) }}
- 正确
- 错误
- 交换程序的第 行和第 行,不会导致数组越界。( )
{{ select(28) }}
- 正确
- 错误
- 对于所有正整数 ,满足 ,输出的第 个数是 当且仅当 是质数。( )
{{ select(29) }}
- 正确
- 错误
单选题
- 该程序的的主要流程最接近( )。
{{ select(30) }}
- 递归法
- 动态规划
- 埃拉托斯特尼筛
- 欧拉筛
- 将程序的第 行移动到第 行,当输入为 时,输出的第( )个数会发生改变。
{{ select(31) }}
- ( 分)当输入为 时,输出的所有数字之和为( )。
{{ select(32) }}
相关
在下列比赛中: