用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

以上是 用C ++安排硬币 的全部内容, 来源链接: utcz.com/z/326881.html

回到顶部