PASC - Tam giác Pascal

Xem dạng PDF

Gửi bài giải


Điểm: 1,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M

Tác giả:
Dạng bài
Ngôn ngữ cho phép
C, C#, C++, Go, Java, Pascal, Perl, PHP, PyPy, Python, Ruby, Rust, Scratch, Swift

Tam giác Pascal kích thước n là tam giác gồm n dòng được định nghĩa như sau:

1

1 1

1 2 1

1 3 3 1

1 4 6 4 1

1 5 10 10 5 1

Tại dòng thứ i:

a[i][0] = a[i][i] = 1

a[i][j] = a[i-1][j-1] + a[i-1][j]

Bạn hãy viết chương trình in ra một tam giác Pascal

Input

Là số nguyên n (1 <= n <= 50)

Output

Gồm n dòng của tam giác Pascal tương ứng. Trên dòng thứ i gồm i số nguyên, mỗi số cách nhau một khoảng trắng.

Sample

Input #1
5
Output #1
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
Input #2
3
Output #2
1
1 1
1 2 1

Problem source: NTUCoder.net


Bình luận

Please read the guidelines before commenting.



  • 0
    congtyluuthaibao1978  đã bình luận lúc 10, Tháng 12, 2025, 5:28

    include <bits/stdc++.h>

    using namespace std;

    long long MulDiv(long long x, long long y, long long z) { long long m = x, n = z; while (n != 0) { long long r = m % n; m = n; n = r; } x /= m; z /= m; return x * (y / z); }

    void PrintALine(int n) { long long c = 1; for (int k = 0; k <= n; k++) { cout << c; if (k < n) cout << " "; c = MulDiv(c, n - k, k + 1); } cout << "\n"; }

    int main() { int m; cin >> m; for (int n = 0; n < m; n++) PrintALine(n); return 0; }


  • 1
    kietjumper  đã bình luận lúc 3, Tháng 10, 2024, 1:50 sửa 3

    Unofficial solution:

    https://www.programiz.com/online-compiler/5Ccugscboph6H