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

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

WBOY
發布: 2023-09-22 09:29:02
轉載
599 人瀏覽過

在這個部分,我們將看到一個有趣的問題。有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
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板