Skip to content

Latest commit

 

History

History
 
 

441.Arranging-Coins

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 

441.Arranging-Coins

假设答案是k,那么n一定是介于等差数列求和公式sum(k)与sum(k+1)之间,即

(1+k)*k/2 <=n < (1+k+1)*(k+1)/2     (*)

化简

k(k+1) <= 2n <= (k+1)(k+2)

缩放

k^2 < 2n < (k+2)^2

所以有k的范围是

sqrt(2n)-2 < k < sqrt(2n)

可以见只有两个整数解: k = sqrt(2n)-1 或者 sqrt(2n)。我们只要检查一下这两个是否满足原始的(*)式即可。