이 섹션에서 우리는 한 가지 흥미로운 문제를 볼 것입니다. N개의 동전이 있습니다. 우리는 동전을 피라미드로 배열할 때 만들 수 있는 최대 높이를 찾아야 합니다. 이런 식으로 첫 번째 줄에는 1개의 동전이, 두 번째 줄에는 2개의 동전이 들어가는 식입니다.
주어진 다이어그램에서 높이가 3인 피라미드를 만들려면 최소 6개의 동전이 필요하다는 것을 알 수 있습니다. 우리는 10개의 동전이 생길 때까지 높이 4를 만들 수 없습니다. 이제 최대 높이를 확인하는 방법을 알아보겠습니다.
이 공식을 사용하여 높이를 얻을 수 있습니다.
예시
#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