Yêu cầu:
Viết chương trình in ra tam giác Pascal
1
1 1
1 2 1
1 3 3 1
…..
Thuật toán:
Chúng ta nhận thấy quy luật như sau:
Hàng 1: 1 số
Hàng 2: 2 số
…
Số hạng đầu và cuối của mỗi hàng đều bằng 1. Số hạng ở giữa bằng tổng 2 số hạng hàng trên cộng lại.
– Hàng 3: 2 = 1 + 1
– Hàng 4: 3 = 1 + 2, 3 = 2 + 1.
…
/************************************************************ * Author: VNCODING * History * 2014/03/18 first create VNCODING *************************************************************/ #include "stdio.h" #include "conio.h" void main() { int A[10][10]; int h; int i, j; do { printf("\n Nhap chieu cao cua tam giac pascal = "); scanf("%d", &h); } while(h > 10); printf("\n==========Tam giac Pascal h = %d=============\n", h); for(i = 0;i < h;i++) { for(j = 0; j <= i; j++) { if(i == j || j == 0) { A[i][j] = 1; printf("%d\t", A[i][j]); } else { A[i][j] = A[i-1][j-1] + A[i-1][j]; printf("%d\t", A[i][j]); } } printf("\n"); } getch(); }
Kết quả:
Nhap chieu cao cua tam giac pascal = 7 ==========Tam giac Pascal h = 7============= 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 1 6 15 20 15 6 1
cho em hỏi ,khai báo ,,,int A[10][10] đễ làm gì ,em ko hiểu ,anh chỉ giùm em .
– Như kết quả em thấy tam giác Pascal là có kích thước Height = Width –> Lưu các giá trị của tam giác Pascal vào Ma trận < --> mảng 2 chiều.
– Kích thước 10 x 10 –> đây là giới hạn do anh đặt ra, em có thể tăng lên tùy ý.
Khó quá
in ra tam giác cân (“in ra hình ngôi sao”) bằng vòng lặp while thì làm như thế nào nhỉ ?