请问最后为什么是m-1,看不太懂

img

img

因为
sum+=m
结束后,会再做一次m++,再判断sum<n的条件是否成立,所以退出循环之前m多加了一次。

因为sum加上m时,是否大于n要等下一个循环判断。但进入下一个循环前,m会自增1。当发现上次循环计算的sum大于n而退出循环时 ,这时的m已经自增了1。所以和sum相加大于n的这个m是最后的m值减去1