首頁 >後端開發 >C++ >用C/C++寫一個程序,當硬幣排列成一個三角形時,求最大高度

用C/C++寫一個程序,當硬幣排列成一個三角形時,求最大高度

WBOY
WBOY轉載
2023-09-22 09:29:02589瀏覽

在這個部分,我們將看到一個有趣的問題。有N個硬幣。我們必須找出如果我們將硬幣排列成金字塔形狀,我們能夠達到的最大高度是多少。依照這種方式,第一行將放置1個硬幣,第二行將放置2個硬幣,依此類推。

用C/C++寫一個程序,當硬幣排列成一個三角形時,求最大高度

在給定的圖表中,我們可以看到要建造一個高度為3的金字塔,我們至少需要6個硬幣。在擁有10個硬幣之前,我們無法建造高度為4的金字塔。現在讓我們看看如何檢查最大高度。

我們可以使用以下公式來確定高度。

用C/C++寫一個程序,當硬幣排列成一個三角形時,求最大高度

範例

 即時示範

#include<iostream>
#include<cmath>
using namespace std;
int getMaxHeight(int n) {
   int height = (-1 + sqrt(1 + 8 * n)) / 2;
   return height;
}
main() {
   int N;
   cout << "Enter number of coins: " ;
   cin >> N;
   cout << "Height of pyramid: " << getMaxHeight(N);
}

輸出

Enter number of coins: 13
Height of pyramid: 4

以上是用C/C++寫一個程序,當硬幣排列成一個三角形時,求最大高度的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:tutorialspoint.com。如有侵權,請聯絡admin@php.cn刪除