Nội dung chính
Bài tập: vẽ tam giác Pascal trong C++.
Đề bài: Viết chương trình C++ vẽ tam giác Pascal trong C++.
Tam giác Pascal có qui tắc sau:
Tất cả các giá trị bên ngoài tam giác được xem như là 0.
Hàng đầu tiên sẽ là 0 1 0, trong đó chỉ có giá trị 1 có được một khoảng trống trong tam giác Pascal, còn 0 là không nhìn thấy.
Hàng thứ hai được tạo bằng cách cộng hai số liên tiếp nhau từ hàng thứ nhất: (0 + 1) và (1 + 0).
Các hàng còn lại cũng được tạo bằng cách cộng như trên. Ví dụ với hàng thứ ba là cộng các số liên tiếp nhau từ hàng thứ hai: (0 + 1), (1 + 1) và (1 + 0).
Lời giải: bài tập vẽ tam giác Pascal trong C++
Chúng ta sử dụng ba vòng lặp lồng nhau. Một vòng lặp bên ngoài để điều khiển số hàng. Hai vòng lặp bên trong: một vòng lặp để in khoảng trống và một vòng lặp để in giá trị.
Dưới đây là chương trình C++ để giải bài tập vẽ tam giác Pascal trong C++:
#include <iostream> 
#include <iomanip>
using namespace std; 
int factorial(int n) {
   int f;
   
   for(f = 1; n > 1; n--)
      f *= n;
      
   return f;
}
int ncr(int n, int r) {
   return factorial(n) / ( factorial(n-r) * factorial(r) );
}
int main() {
   int n, i, j;
   n = 6;
   printf("Ve tam giac Pascal:\n");
   for(i = 0; i <= n; i++) {
      for(j = 0; j <= n-i; j++)
         printf("  ");
         
      for(j = 0; j <= i; j++)
         printf(" %3d", ncr(i, j));
      printf("\n");
   }
   return 0;
}
Kết quả: