Trong phần này, chúng ta sẽ thấy một vấn đề thú vị. Có N đồng xu. chúng ta phải tìm chiều cao tối đa mà chúng ta có thể tạo ra nếu chúng ta sắp xếp các đồng xu dưới dạng kim tự tháp. Theo cách này, hàng đầu tiên sẽ chứa 1 đồng xu, hàng thứ hai sẽ chứa 2 đồng xu, v.v.
Trong sơ đồ đã cho, chúng ta có thể thấy để tạo ra một kim tự tháp có chiều cao là ba, chúng ta cần tối thiểu 6 đồng xu. Chúng tôi không thể tạo chiều cao 4 cho đến khi chúng tôi có 10 đồng xu. Bây giờ chúng ta hãy xem cách kiểm tra chiều cao tối đa.
Chúng ta có thể nhận được chiều cao bằng cách sử dụng công thức này.
Ví dụ
#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); }
Đầu ra
Enter number of coins: 13 Height of pyramid: 4