题库首页 › GESP等级认证(C++) › 题目 21085

小杨要把一根长度为 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. if (check(L, K, mid)) r = mid; else l = mid + 1;Copy
B. if (check(L, K, mid)) r = mid+1; else l = mid + 1;Copy
C. if (check(L, K, mid)) r = mid + 1; else l = mid - 1;Copy
D. if (check(L, K, mid)) r = mid + 1; else l = mid;Copy

正确答案:A

试卷来源:202512 CCF-GESP编程能力等级认证C++五级真题

本卷相关题目

在线做题 同科目题库