对于求解满足1+2+3+...+k ≤ x的最大正整数k的问题,当x的取值范围为0 ≤ x ≤ 10^18时,以下实现方式最优且正确的是?

jb663406 单选题 共 个子题

已知1到k的正整数和计算公式为sum = k*(k+1)/2

A

从k=1开始逐次累加求和,直到和超过x时返回上一个k值

B

使用二分法在区间[1,x]中查找符合条件的k,每次计算mid的和判断是否满足条件

C

通过一元二次方程推导得到k = floor( (sqrt(8*x + 1) - 1)/2 ),直接计算返回结果

D

直接返回floor(x/2)作为结果

正在加载题目数据…
已答 /
子题
该题型需在试卷/作业中作答,单题练习暂不支持
答案解析
讨论
发布
登录后参与讨论 立即登录
发布讨论需先绑定并验证手机号 去绑定手机号
加载中…
我
我
回复 @
回复 @
发送
还没有人讨论,来发表第一条吧