#12269. 珅泽教育CSP-J第一轮模拟考第二十四套 第 41 题
珅泽教育CSP-J第一轮模拟考第二十四套 第 41 题
三、完善程序(单选题,每小题 3 分,共计 30 分)
程序二:凑出 17
给定 个互不相同的正整数 ,在每个数前添加加号或减号,判断算式的值能否为 17;存在输出 Yes,否则输出 No。
#include <cstdio>
using namespace std;
const int maxn = 25;
const int aim = 17;
int n;
int a[maxn];
bool ans;
int getBit(const int s, int p) {
return ①;
}
int main() {
scanf("%d", &n);
for (②) scanf("%d", a + i);
for (int s = 0, upperBound = ③; s <= upperBound; ++s) {
④;
for (int j = 0; j < n; ++j) if (getBit(s, j) == 1) {
sum += a[j];
} else {
⑤;
}
if (int(sum) == aim) {
ans = true;
break;
}
}
printf("%s\n", ans ? "Yes" : "No");
}
- ③处应填( )。
{{ select(1) }}
1 << n(1 << n) | 1(1 << n) + 1(1 << n) - 1