小杨要把一根长度为 L 的木头切成 K 段,使得每段长度小于等于 x。已知每切一刀只能把一段木头分成两段,他用二分法找到满足条件的最小 x( x 为正整数),则横线处应填写( )。def check(L , K , x) : cuts = (L - 1) // x return cuts <= K def binary_cut(L , K) : l = 1 r = L while l < r: # 填空位置 return l if __name__ == "__main__" : L = 10 K = 2 result = binary_cut(L , K) print(result)
A. mid = l + (r) // 2 if check(L , K , mid+1) : r = mid else: l = mid + 1
B. mid = l + ( r - l) // 2 if check(L , K , mid) : r = mid else: l = mid + 1
C. mid = l + ( r - l) // 2 if check(L+1 , K , mid) : r = mid else: l = mid + 1
D. mid = l + ( r - l) // 2 if check(L+1 , K , mid) : r = mid else: l = mid
正确答案:B
试卷来源:202512 CCF-GESP编程能力等级认证Python五级真题