![](https://img-blog.csdnimg.cn/e16e19e2909e45f7918e9eb8a050522c.png)
代码实现:
/**
* 硬币排列
*/
public class ConArrange {
public static void main(String[] args) {
System.out.println("直接循环: "+binSearch(16));
System.out.println("二分树查找方法: "+arrangeCoins(16));
System.out.println("牛顿迭代: "+arrangeCoins2(16));
}
//直接循环
public static int arrangeCoins(int n){
for (int i = 1; i<= n; i++){
n = n -i;
if (n <= i){
return i;
}
}
return 0;
}
//二分树查找方法
public static int binSearch(int n){
int low = 0,high = n;
while (low <= high){
int mid = (low + high) / 2;
int cost = ((mid + 1) * mid) / 2; //1+2+3+...+x = n 等于 x平方+x =