求京东c++笔试题-疯狂序列的求解公式推导原理

floor(sqrt(2*n) + 0.5);这公式怎么推导出来的
全部评论
http://bestmind.space 这上面有
点赞 回复 分享
发布于 2017-09-09 02:25
//等于i的区间 {x | i(i-1)/2 + 1 <= x <= i(i+1)/2} //推出 {i | sqrt(2x+0.25)-0.5 <= i <= sqrt(2x-1.25)+0.5 } //验算下左右的值,发现取右,所以 i = floor(sqrt(2x-1.25)+0.5);
点赞 回复 分享
发布于 2017-09-08 23:58
等差数列啊,x<n(n+1)/2
点赞 回复 分享
发布于 2017-09-08 23:19
我的理解是1+2+3+4+5+....+k=(k+1)*k/2<=n; 求满足的最大 k, 那么sqrt(2*n) > sqrt((k+1)*k) >sqrt(k*k)=k,加上0.5是考虑范围吧
点赞 回复 分享
发布于 2017-09-08 21:57

相关推荐

10-30 19:23
已编辑
山东大学(威海) C++
牛至超人:我了个雷 1.实习经历写太长了吧,精简一点,你写那么老多,面试官看着都烦 2.项目经历你放俩竞赛干啥单独拿出来写上几等奖就行了呗 3.一大雷点就是项目经历里的那个课程设计,大家都知道课程设计巨水,不要写课程设计,换一个名字,就叫学生管理系统,面试官问就说是自己做的项目,不要提课程设计的事 4.那个交流经历,简化一下塞到最上面的教育经历里就行了 5.简历尽量一页纸
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务