Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Lập Trình C

Chương trình C/C++ tìm chiều cao tối đa khi xếp đồng tiền thành tam giác

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.

Chương trình C/C++ tìm chiều cao tối đa khi xếp đồng tiền thành tam giác

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:

Chương trình C/C++ tìm chiều cao tối đa khi xếp đồng tiền thành tam giác

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