Computer >> Máy Tính >  >> Lập trình >> C#

Làm thế nào để tạo tam giác pascal cho một số nhất định bằng C #?


Pascal’s Triangle là một mẫu số có dạng hình tam giác. Pascal’s Triangle có nhiều ứng dụng trong toán học và thống kê, bao gồm khả năng giúp bạn tính toán các tổ hợp.

Mỗi số trong tam giác là tổng của hai số trên nó. Ví dụ:hàng 4 - là tổng của 3 và 3 ở hàng trên. Số đầu tiên và số cuối cùng trong bất kỳ hàng nào sẽ luôn là 1.

Độ phức tạp về thời gian - O (N)

Độ phức tạp của không gian - O (N)

Ví dụ

public class Arrays{
   public List<List<int>> GeneratePascal(int n){
      List<List<int>> res = new List<List<int>>();
      if (n <= 0){
         return null;
      }
      List<int> first = new List<int>();
      first.Add(1);
      res.Add(first);
      if (n == 1){
         return res;
      }
      for (int i = 2; i < n; i++){
         List<int> prev = res.LastOrDefault();
         List<int> cur = new List<int>();
         for (int temp = 0; temp < i; temp++){
            cur.Add(1);
         }
         for (int j = 1; j < i - 1; j++){
            cur[j] = prev[j - 1] + prev[j];
         }
         res.Add(cur);
      }
      return res;
   }
}

static void Main(string[] args){
   Arrays s = new Arrays();
   var res = s.GeneratePascal(5);
}

Đầu ra

[[1],[1,1],[1,2,1],[1,3,3,1],[1,4,6,4,1]]