在這個部分,我們將看到一個有趣的問題。有N個硬幣。我們必須找出如果我們將硬幣排列成金字塔形狀,我們能夠達到的最大高度是多少。按照這種方式,第一行將放置1個硬幣,第二行將放置2個硬幣,依此類推。
在給定的圖表中,我們可以看到要構(gòu)建高度為3的金字塔,我們至少需要6個硬幣。在擁有10個硬幣之前,我們無法構(gòu)建高度為4的金字塔。現(xiàn)在讓我們看看如何檢查最大高度。
我們可以使用以下公式來確定高度。
示例
?實時演示
#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);
}
登錄后復(fù)制
輸出
Enter number of coins: 13 Height of pyramid: 4
登錄后復(fù)制
以上就是用C/C++編寫一個程序,當(dāng)硬幣排列成一個三角形時,求出最大高度的詳細內(nèi)容,更多請關(guān)注www.xfxf.net其它相關(guān)文章!






