2020年CSP-S提高组初赛阅读程序:
#include <iostream> using namespace std; int n; int d[1000]; int main() { cin >> n; for (int i = 0; i < n; ++i) cin >> d[i]; int ans = -1; for (int i = 0; i < n; ++i) for (int j = 0; j < n; ++j) if (d[i] < d[j]) ans = max(ans, d[i] + d[j] - (d[i] & d[j])); cout << ans; return 0; }
假设输入的 n 和 d[i] 都是不超过 10000 的正整数,完成下面的判断题和单选题:
n 必须小于 1000,否则程序可能会发生运行错误。( )
输出一定大于等于 0。( )
若将第 13 行的“j=0” 改为 “j = i + 1”程序输出可能会改变。 ( )
将第 14 行的 “d[i] < d[j]” 改为“d[i] != d[j]”,程序输出不会改变。( )
若输入 n 为 100,且输出为 127,则输入的 d[i] 中不可能有( )。
127
126
128
125
若输出的数大于 0,则下面说法正确的是( )。
若输出为偶数,则输入的d[i]中最多有两个偶数。
若输出为奇数,则输入的d[i]中至少有两个奇数。
若输出为偶数,则输入的d[i]中至少有两个偶数。
若输出为奇数,则输入的d[i]中最多有两个奇数。