大家都用ceil(根号(0.25+2*n)-0.5来做,我的想法是用round(sqrt(2*n))来做 没四舍五入的直接用返回sqrt(2*n)只能通过80% 所以返回sqrt(n) 是直接截掉小数部分的,要处理第二种情况,要四舍五入 实现方法为 round(sqrt(n)) 或者 int (sqrt(n)+0.5) ,这两种都能得到m,而不是有时候得到m-1 Ps: double 到int会直接截去小数部分 此题的n最大为10^18, sqrt有几个重载函数 ,有的可以存这么大的数,long long 也是64位 sqrt的函数原型参...