用C ++安排硬币
因此,如果输入是5,则输出将是2,因为使用5个硬币,我们可以形成两行完整的starecase行,最后一行需要三行,但我们必须保留2-
* ** **
这可以通过使用以下公式直接完成-
$$\frac{\sqrt{(8n+1)}-1}{2}$$
例
让我们看下面的实现以更好地理解-
#include <bits/stdc++.h> using namespace std; class Solution { public: int arrangeCoins(int n) { return (sqrt(8*(long long)n+1)-1)/2; } }; main(){ Solution ob; cout << (ob.arrangeCoins(13)); }
输入项
13
输出结果
4