Trong bài viết này, chúng ta sẽ giải quyết một bài toán thú vị: Cho N đồng tiền, hãy tìm chiều cao lớn nhất của kim tự tháp nếu xếp các đồng tiền theo hình tam giác. Ở hàng đầu tiên có 1 đồng, hàng thứ hai có 2 đồng, và cứ tiếp tục như vậy.

Như hình vẽ, để tạo kim tự tháp chiều cao 3 cần tối thiểu 6 đồng tiền. Chiều cao 4 thì cần 10 đồng. Công thức tính chiều cao tối đa:

Ví dụ minh họa
#include <iostream>
#include <cmath>
using namespace std;
int getMaxHeight(int n) {
int height = (-1 + sqrt(1 + 8 * n)) / 2;
return height;
}
int main() {
int N;
cout << "Nhap so dong tien: ";
cin >> N;
cout << "Chieu cao kim tu thap: " << getMaxHeight(N);
return 0;
}
Kết quả
Nhap so dong tien: 13 Chieu cao kim tu thap: 4