GESP C++ 真题 · 逐题精解
首页C++五级真题 › 2025年12月 › 第12题

GESP 2025年12月 C++五级 单选题 第12题

C++五级单选题2025年12月第12题

所属知识点:分治与递归 难度要求:掌握 考频:—

小杨要把一根长度为 L 的木头切成 K 段,使得每段长度小于等于 x 。已知每切一刀只能把一段木头分成 两段,他用二分法找到满足条件的最小 x ( x 为正整数),则横线处应填写( )。
// 判断:在不超过 K 次切割内,是否能让每段长度 <= x
bool check(int L, int K, int x) {
int cuts = (L - 1) / x;
return cuts <= K;
}
// 二分查找最小可行的 x
int binary_cut(int L, int K) {
int l = 1, r = L;
while (l < r) {
int mid = l + (r - l) / 2;
________________________________     // 在此处填入代码
}
return l;
}
int main() {
int L = 10;   // 木头长度
int K = 2;    // 最多切 K 刀
cout << binary_cut(L, K) << endl;
return 0;
}

正确答案:A

题目解析

二分答案求最小可行 x:check 成立时 r=mid(向小收缩),否则 l………

完整解析为会员内容二级及以上的逐题精讲需开通 VIP。一级解析全部免费。前往 GESPPASS 解锁

想系统刷完 GESP C++ 1~8 级真题,并查看每道题的逐题精讲?

进入 GESPPASS 开始练习