Untitled
unknown
csharp
16 days ago
1.3 kB
4
Indexable
using System; public class BaiTap65 { static long TinhToHop(int n, int m) { // Điều kiện dừng if (m < 0 || m > n) { return 0; // Không hợp lệ } if (m == 0 || m == n) { return 1; // C(n,0) = 1, C(n,n) = 1 } if (m == 1) { return n; // C(n,1) = n (tối ưu nhỏ) } // Công thức đệ quy return TinhToHop(n - 1, m - 1) + TinhToHop(n - 1, m); } public static void Main(string[] args) { Console.OutputEncoding = System.Text.Encoding.UTF8; Console.InputEncoding = System.Text.Encoding.UTF8; Console.WriteLine("Tính tổ hợp C(n, m) bằng đệ quy"); int n, m; Console.Write("Nhập số nguyên n (n >= 0): "); while (!int.TryParse(Console.ReadLine(), out n) || n < 0) { Console.Write("n không hợp lệ. Nhập lại: "); } Console.Write($"Nhập số nguyên m (0 <= m <= {n}): "); while (!int.TryParse(Console.ReadLine(), out m) || m < 0 || m > n) { Console.Write($"m không hợp lệ. Nhập lại (0-{n}): "); } long ketQua = TinhToHop(n, m); Console.WriteLine($"Kết quả C({n}, {m}) = {ketQua}"); } }
Editor is loading...
Leave a Comment